我是从源头上建造的,但是使用gcc 7.2的建筑,它并不生活在正常的地方。我希望最终的clang++二进制文件在默认情况下使用这个工具链。我试着做:
$ export GCC_PREFIX=/path/to/gcc/7.2
$ mkdir -p build
$ cd build
$ cmake -G Ninja -DCMAKE_C_COMPILER=${GCC_PREFIX}/bin/gcc \
-DCMAKE_CXX_COMPILER=${GCC_PREFIX}/bin/g++ \
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_TARGETS_TO_BUILD=X86 ..但是,生成的构建只是在/usr/include/c++/4.8.5中查找标准库包含,而不是我想要的/path/to/gcc/7.2/include (而且,正如路径所示,4.8.5有点老了)。是否有一种方法来构建clang,以便生成的二进制文件将搜索我想要的路径,以获得它的include目录?
注意,我知道我使用--gcc-toolchain=${GCC_PREFIX}运行生成的二进制文件。这是可行的。我想要做的是将它构建到二进制文件中,这样我就不必每次都键入它。
发布于 2017-12-10 22:03:01
刚找到这个。正确的方法是提供GCC_INSTALL_PREFIX
$ cmake -G Ninja -DCMAKE_C_COMPILER=${GCC_PREFIX}/bin/gcc \
-DCMAKE_CXX_COMPILER=${GCC_PREFIX}/bin/g++ \
-DGCC_INSTALL_PREFIX=${GCC_PREFIX} \
-DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_TARGETS_TO_BUILD=X86 ..这样做是对的。得到的clang二进制文件的行为就像提供了--gcc-toolchain=${GCC_PREFIX}一样,如所需。
https://stackoverflow.com/questions/47734094
复制相似问题