簡體   English   中英

Qt MacOS - 正確的工作目錄?

[英]Qt MacOS - Correct Working Directory?

我之前從未使用過Mac,但我正在使用Qt 5.6.2在MacOS 10.12.5上構建一些Qt應用程序。 當我從Qt Creator運行應用程序時,我收到了錯誤:

Failed to start program. Path or permissions wrong?

如果我試圖調試我得到錯誤:

Unable to start LLDB "/Applications/Xcode.app/Contents/Developer/usr/bin/lldb": No such file or directory

經過一番調查后,我發現問題似乎與Qt Creator項目設置中的工作目錄有關。 如果您構建目錄是:

/Users/username/dev/build-MyApp-Desktop_Qt_5_6_2_clang_64bit-Debug

Qt Creator會將工作目錄設置為:

/Users/username/dev/build-MyApp-Desktop_Qt_5_6_2_clang_64bit-Debug/MyApp.app/Contents/MacOS

我發現如果你將工作目錄更改為與build目錄相同(就像在Windows中一樣),這可以解決問題,因此程序將運行並調試而不會出現問題。 但是,由於我是Mac新手,我擔心這是錯誤的做法,可能會為測試創造一個不適當的環境。

將工作目錄更改為與構建目錄相同是此問題的最佳解決方案,還是有更好的解決方案?

為什么Qt Creator在導致應用程序無法運行時將/MyApp.app/Contents/MacOS附加到工作目錄?

我找到了問題的根源,它與工作目錄沒有任何關系,但與我改變的其他設置有關。 其他人不太可能有這個問題,但我會解釋。 默認情況下,Qt Creator將此目錄結構用於構建:

[Build-Directory]-debug/debug - debug build goes here
[Build-Directory]-debug/release - always empty
[Build-Directory]-release/debug - always empty
[Build-Directory]-release/release - release build goes here

這看起來很傻,所以我從默認的構建目錄中刪除了-%{CurrentBuild:Name} ,這使得目錄結構更加合理:

[Build-Directory]/debug - debug build goes here
[Build-Directory]/release - release build goes here

在Linux上,默認情況下不會創建調試和發布子目錄,因此要在同一個構建目錄結構中工作,我必須將以下行添加到我的.pro文件中:

CONFIG += debug_and_release debug_and_release_target

當我在Mac上構建時,似乎這些設置引起了很多問題。 運行和調試程序不起作用,圖標未設置( ICON = myicon.icns無效)。 恢復到默認的構建目錄(最后使用-%{CurrentBuild:Name} )並從我的.pro文件中刪除該行解決了Mac上的問題。

我的自閉症真的讓我花了很多時間。 我無法忍受這樣的事實:-debug / release和-release / debug目錄完全是冗余的並且總是空的。 不幸的是,更改設置最終會使事情變得更糟。 我要外出吃巧克力......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM