我正在尝试使用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)

这是HelloWorld.cpp的源代码

#include <iostream>

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

    return 0;
}

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

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

===============>>#1 票数:1

我遇到过同样的问题。 对我来说,这是由Xcode用于查找产品的搜索路径中的额外“构建”目录引起的。 我通过将产品放在Xcode所期望的位置来解决问题,即我添加了额外的“构建”目录:

if(CMAKE_GENERATOR STREQUAL Xcode)
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug)
    set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release)
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug)
    set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release)
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/build/Debug)
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/build/Release)
endif()

===============>>#2 票数:1

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

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

  ask by Negative Zero translate from so

未解决问题?本站智能推荐:

2回复

XCode编译器错误,使用CMake构建的项目

我正在尝试构建从CMake 3.x生成的XCode(5.0版)项目。 当我尝试建立专案时 我收到此错误: 如何解决此错误? -std和-stdlib来自以下项目属性:Apple LLVM 5.0-语言C ++ ==>方言和标准库 我该如何从CMAKE
2回复

如何从现有的git cmake项目创建Xcode项目?

我是OSx的新手,有人可以帮助从现有代码创建Xcode项目吗? 我想尝试一些Xcode的功能,比如'profile'。 我目前使用Clion作为我的cmake项目,它也在git repo中。 我只是想从Xcode导入它,但我想这并不容易。 这里有一些关于项目和IDE的信息:
2回复

从Xcode转换为CMake

我有一个C ++项目,我最初在Mac上使用Xcode开发,我想使用CMake设置相同的项目。 该项目利用了一些外部库,包括eigen和boost。 Xcode有一个相当长的构建设置列表,包括外部库的路径,编译器版本的规范,附加的链接器标志,编译器优化级别等等......我想知道所有这些信息在
1回复

Qt5项目未使用Xcode 7构建

我正在使用Xcode 6.4作为IDE,使用CMake 3.3.1构建的,带有C ++ 11的Qt5.4项目。 最近,OS X决定更新到Xcode 7.0(7A220),因此。 现在,每次尝试构建时,我都会收到以下消息。 运行目标My Mac不适用于“实时”运行方案。
1回复

CMake Xcode在问题导航器中使用错误的文件

我从CMake生成了一个Xcode项目,该项目构建了一个静态库并测试了可执行文件。 构建库之后,将执行文件复制操作,将标头移动到中央目录(已构建库旁边的include文件夹)。 该目录未在任何一个项目的标题搜索路径中列出(我已经在Xcode项目和CMakeLists文件中验证了此目录
2回复

什么CMake变量用于在XCode中设置C ++标准库?

我有一个纯C ++ 11 DLL(没有任何类型的依赖)我已经能够在Linux和Windows上编译一段时间了,现在使用CMake生成项目文件并使/ MSVC在每个相应的本机系统中编译。 我想现在在OSX上编译,我遇到很多问题让CMake在XCode中设置正确的项目设置来编译DLL。
2回复

在OSX上使用CMake构建Unity本机包

我有一个Xcode项目,它构建一个包含库的包。 我使用以下菜单创建了项目: 新项目 - >框架和图书馆 - >捆绑 为了给出更多的上下文,我想为Unity创建一个原生插件 。 目前标题非常简单,只包含标题和源文件。 我现在希望能够使用CMake生成类似的项
2回复

如何使用XCode 6.1 C ++调试模式检查所有局部变量

我正在使用XCode 6.1调试我的C ++代码,我发现一些局部变量没有显示在调试区域,即使我使用“所有变量”设置。 我想知道如何将这些变量添加到调试列表中? 或者如何在LLDB上打印出那些缺失的变量? 我尝试了po test ,但它说: 我最好切换到Eclipse IDE
1回复

如何在mac上使用cmake

对某些人来说这似乎是显而易见的,但不适合我。 如何在Mac上使用cmake? 假设我在Xcode中有一个项目,我希望该项目与assimp库链接。 所以我下载了assimp源代码,用cmake生成构建,将Xcode指向/包含在下载的源代码中然后呢? 建造图书馆在哪里? 我唯一拥有
2回复

在MacOSX特立独行的cmake,如何强制将/ usr / include包括在内

我正在使用xcode的最新更新的macosx 10.9,并且已经完成xcode-select --install。 我有一个使用头文件GL / glew.h和stdio.h的C ++文件 Glew安装在/ usr / include中。 stdio.h也位于/ usr / in