CMake生成的Xcode项目无法找到从Xcode构建的二进制"产品"

Neg*_*ero 6 c++ macos xcode cmake

我正在尝试使用CMake Generated Xcode项目.构建时一切看起来都很好,除了Xcode找不到构建的二进制文件.下面是我成功构建产品后的截图.我可以在项目源目录中看到它们.但是,请注意Xcode显示RED"HelloWorld",这意味着它无法找到产品.

显示红色的产品截图

配置:在Lion 10.7.2上使用Xcode 4.2进行CMake 2.8.6

这是CMakeLists.txt

project(HelloWorld)

add_executable(${PROJECT_NAME} HelloWorld.cpp)
Run Code Online (Sandbox Code Playgroud)

这是HelloWorld.cpp的源代码

#include <iostream>

int main(){
    std::cout << "HelloWorld!" << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我试图直接从Xcode创建一个原始项目,编译后,产品显示黑色而不是红色字体,这意味着Xcode找到了产品.所以我相信这与CMake Generated Xcode项目有关.

有人有任何想法吗?怎么解决这个问题?

Vis*_*hal 1

xcode 项目文件(我猜,在您的情况下,其名称将类似于 )HelloWorld.xcproject/project.pbxproject,将为每个目标的每个构建配置提供 SYMROOT 定义。
您可以将所有 SYMROOT 定义更改为相同的值,也可以删除所有这些(xcode将默认为“build”)。
项目如果打开,应该自动重新加载。选择 ALL_BUILD 或 HelloWord,清理并构建。

不确定 cmake 添加 SYMROOT 的方式是否有问题。
注意:我知道这只是暗示问题可能是什么,而不是解决方案,但还不允许添加评论:)