gpt4 book ai didi

c++ - Qt MacOS - 正确的工作目录?

转载 作者:太空宇宙 更新时间:2023-11-04 12:59:38 26 4
gpt4 key购买 nike

我以前从未使用过 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

我发现,如果您将工作目录更改为与构建目录相同(就像在 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 上,默认情况下不会创建 debug 和 release 子目录,因此要获得相同的构建目录结构,我必须将以下行添加到我的 .pro 文件中:

CONFIG += debug_and_release debug_and_release_target

当我开始在 Mac 上构建时,这些设置似乎导致了很多问题。运行和调试程序没有工作,图标没有被设置(ICON = myicon.icns 没有工作)。恢复到默认构建目录(末尾有 -%{CurrentBuild:Name})并从我的 .pro 文件中删除该行解决了 Mac 上的问题。

我的自闭症真的让我在那里浪费了很多时间。我无法忍受这样一个事实,即存在完全多余且始终为空的 -debug/release 和 -release/debug 目录。不幸的是,更改设置最终使事情变得更糟。我要出去吃巧克力......

关于c++ - Qt MacOS - 正确的工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44812328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com