如何创建 CMakeLists.txt 以编译 PNaCl 程序?
How to create a CMakeLists.txt in order to compile a PNaCl program?
我有一个 PNaCl 程序,我正在尝试使用 CMake 进行编译。
我添加了以下几行,但根本不起作用:
# disable compiler detection
include(CMakeForceCompiler)
CMAKE_FORCE_C_COMPILER("${CMAKE_C_COMPILER}" Clang)
CMAKE_FORCE_CXX_COMPILER("${CMAKE_CXX_COMPILER}" Clang)
# specify cross-compilers
set(NACL_BIN /usr/local/share/nacl_sdk/pepper_43/toolchain/mac_pnacl/bin)
set(CMAKE_C_COMPILER "${NACL_BIN}/pnacl-clang" CACHE PATH "gcc" FORCE)
set(CMAKE_CXX_COMPILER "${NACL_BIN}/pnacl-clang++" CACHE PATH "g++" FORCE)
set(CMAKE_AR "${NACL_BIN}/pnacl-ar" CACHE PATH "archive" FORCE)
set(CMAKE_LINKER "${NACL_BIN}/pnacl-clang++" CACHE PATH "linker" FORCE)
set(CMAKE_RANLIB "${NACL_BIN}/pnacl-ranlib" CACHE PATH "ranlib" FORCE)
打印错误:
pnacl-ld: Unrecognized option: -search_paths_first
-search_paths_first 似乎是一个 OSX 特定的标志,因此 CMake 似乎不知道您正在进行交叉构建。据我所知,没有必要强制编译器;设置 CMAKE_C_COMPILER 和其他工具可能就足够了。如果仍然存在问题,您也可以尝试设置 CMAKE_SYSTEM_NAME=nacl
根据 Derek 的回答:
set(CMAKE_SYSTEM_NAME "Generic" CACHE STRING "Target system.")
否则,CMAKE 将使用特定标志。
我有一个 PNaCl 程序,我正在尝试使用 CMake 进行编译。
我添加了以下几行,但根本不起作用:
# disable compiler detection
include(CMakeForceCompiler)
CMAKE_FORCE_C_COMPILER("${CMAKE_C_COMPILER}" Clang)
CMAKE_FORCE_CXX_COMPILER("${CMAKE_CXX_COMPILER}" Clang)
# specify cross-compilers
set(NACL_BIN /usr/local/share/nacl_sdk/pepper_43/toolchain/mac_pnacl/bin)
set(CMAKE_C_COMPILER "${NACL_BIN}/pnacl-clang" CACHE PATH "gcc" FORCE)
set(CMAKE_CXX_COMPILER "${NACL_BIN}/pnacl-clang++" CACHE PATH "g++" FORCE)
set(CMAKE_AR "${NACL_BIN}/pnacl-ar" CACHE PATH "archive" FORCE)
set(CMAKE_LINKER "${NACL_BIN}/pnacl-clang++" CACHE PATH "linker" FORCE)
set(CMAKE_RANLIB "${NACL_BIN}/pnacl-ranlib" CACHE PATH "ranlib" FORCE)
打印错误:
pnacl-ld: Unrecognized option: -search_paths_first
-search_paths_first 似乎是一个 OSX 特定的标志,因此 CMake 似乎不知道您正在进行交叉构建。据我所知,没有必要强制编译器;设置 CMAKE_C_COMPILER 和其他工具可能就足够了。如果仍然存在问题,您也可以尝试设置 CMAKE_SYSTEM_NAME=nacl
根据 Derek 的回答:
set(CMAKE_SYSTEM_NAME "Generic" CACHE STRING "Target system.")
否则,CMAKE 将使用特定标志。