use*_*032 4 linux ubuntu cmake
我有一个依赖外籍人士的项目。我的问题是我无法链接到外籍人士。我使用Ubuntu(debian环境),需要使用cmake来构建makefile。
\n\n我\xc2\xb4ve尝试下载源代码并链接到我的CMakeLists.txt中:
\n\ninclude_directories(\n...\n${CMAKE_SOURCE_DIR}/expat-2.1.0/lib\n...\n) \nRun Code Online (Sandbox Code Playgroud)\n\n我尝试移动 .c 文件并单独链接到它们:
\n\nadd_executable(${PROJECT_NAME}\n...\nsrc/xmlrole.c\nsrc/xmltok.c\nsrc/xmltok_impl.c\nsrc/xmltok_ns.c\nsrc/xmlparse.c\n...\n)\nRun Code Online (Sandbox Code Playgroud)\n\n虽然这不起作用\xc2\xb4t 工作并在链接时在 xmlparse.c 中出现错误
\n\n有人知道如何正确链接 CMakeLists.txt 文件中的库吗?是否有必要下载源代码并链接到文件本身(我可以\xc2\xb4t 开始工作)?
\n\n是否需要下载源代码,或者是否可以链接到运行“sudo apt-get install expat”时创建的“.so - 文件”?
\n如果您不需要最新的 expat 版本,您应该能够使用sudo apt-get install expat.
如果您需要最新版本,请下载源代码并解压。然后:
cd <expat root>
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr (default install path is /usr/local)
make
sudo make install
Run Code Online (Sandbox Code Playgroud)
安装后,您可以使用 CMake 的FindEXPATmodule找到它。
例如,
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
project(MyTest)
include(FindEXPAT)
find_package(EXPAT REQUIRED)
include_directories(${EXPAT_INCLUDE_DIRS})
add_executable(${PROJECT_NAME} <list of your source files>)
target_link_libraries(${PROJECT_NAME} ${EXPAT_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5068 次 |
| 最近记录: |