当我开始生成时,这就是我所拥有的:
iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode .
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch, CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch
CMake Error at CMakeLists.txt:25 (MESSAGE):
Binary and source directory cannot be the same
-- Configuring incomplete, errors occurred!
我该如何解决?我是cmake的新人,样品很受欢迎。
答案 0 :(得分:50)
CMake用于生成out-of-source版本。
这里的想法是,您不要将编译期间创建的文件与原始源文件混合在一起。实际上,您通常从一个新的空构建目录运行CMake,并将源目录的路径作为参数。
cd IXCSoftswitch
mkdir build
cd build
cmake -G Xcode ..
CMake生成的所有文件(可能是 lot )现在将进入build
子目录,而源目录保持清除构建工件。
源外构建的概念起初可能看起来很奇怪,但是一旦你习惯它,它实际上是一种非常方便的工作方式。
答案 1 :(得分:5)
从项目目录的根目录。
cmake -G Xcode -H. -B_build
这与上面的答案类似。但是,您手动管理源外构建。 -B设置你的目标构建目录(我碰巧更喜欢_build)。我试着抬头看-H要仔细检查,但是找不到它。如果内存服务,它指定您的CMakeLists.txt所在的位置。
我将此命令保存在.sh / .bat文件中(取决于)。这样,我可以保留我的脚本,在新的人可以轻松找到它们的根目录中构建我的项目。