2017-04-26 72 views
0

我正在構建控制檯應用程序Linux Ubuntu。在Qt Creator的運行環境面板設置環境變量不能正常工作,無論我是否接通標誌或不是‘終端運行’。看起來他們只是被忽略了。如果我將這些變量導出到Qt Creator之外,在一個普通的終端中,然後運行我的控制檯應用程序,一切都很好。Qt Creator運行環境被忽略

我正在使用Qt Creator 3.5.1。

+0

不是一個真正的答案,但我注意到使用Qt Creator這樣的工作時有很多古怪的東西。我設定了一些設置來最終工作。讓我看看我能否記住它。 – MrJman006

+0

所以我使用Qt Creator啓動我的機器,但是您確定將變量設置爲適當的運行模式嗎?如果內存爲我提供了正確的服務,那麼您可以選擇幾種方式(即發佈,調試,配置文件等)。將變量設置爲一個並運行另一個會導致您遇到的問題。 – MrJman006

+0

@ MrJman006你是對的,但目前我只有一個項目設置,基本上是「通過調試信息發佈」 – nyarlathotep108

回答

1

好吧,我想你是在正確的地方設置變量,但以防萬一這裏是我設置我的地方的屏幕截圖。注意到我們已經在評論中討論過的一件事是什麼「套件」你正在跑步。在下面的屏幕截圖中,我只設置了一個套件,但如果您有多個套件,則必須通過單擊Qt Creator左下方的小監視器圖標來選擇合適的套件。

enter image description here

然後在代碼中,我使用以下命令:

int main(int argc, char *argv[]) 
{ 
    QCoreApplication a(argc, argv); 

    // Get the variable or a default value if the variable is not set. 
    // Qt abstraction that should work cross platform. 
    QString s = QProcessEnvironment::systemEnvironment().value("VAR_ONE", ""); 

    // Get variable in platform dependent way. 
    char * s2 = getenv("VAR_ONE"); 

    // Print out the results. 
    qDebug("%s", s.toStdString().c_str()); 
    qDebug("%s", s2); 


    return a.exec(); 
} 

如果你正在做的這一切,仍然有問題,我會嘗試做一個新的空控制檯應用程序,看看上面的以某種方式縮小與Qt Creator相關的問題,或者您正在使用的項目的某些設置已關閉。