针对你遇到的问题“cmake could not find curl (missing: curl_library curl_include_dir)”,我们可以按照以下步骤进行排查和解决: 1. 确认CMakeLists.txt中是否已正确添加查找CURL的指令 首先,确保你的CMakeLists.txt文件中包含了查找CURL库的指令。通常,这可以通过find_package命令来实现。例如: cmake find_pack...
例如:添加三方库 include_directiories(/usr/include/curl) target_link_libraries(myprogram path/...
Ubuntu16.04 下CMake 编译时提示错误:Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) 首先我看了下curl版本: # curl --version curl7.47.0(x86_64-pc-linux-gnu) libcurl/7.47.0GnuTLS/3.4.10zlib/1.2.8libidn/1.32librtmp/2.3Protocols: dictfileftpftps gopher http https imap imaps lda...
(2)方法2,使用FindCURL 模块。 现在是使用cmake 提供的 FindCURL 模块,向 src/CMakeLists.txt 中添加: FIND_PACKAGE(CURL) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(curltest ${CURL_LIBRARY}) ELSE(CURL_FOUND) MESSAGE(FATAL_ERROR ”CURL library not found”) ...
${CMAKE_CURRENT_SOURCE_DIR}) 2,CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE 将工程提供的头文件目录始终至于系统头文件目录的前面,当你定义的头文件确实跟系统发生冲突时可以提供一些帮助。 3,CMAKE_INCLUDE_PATH 和 CMAKE_LIBRARY_PATH 我们在上一节已经提及。
报错: which: no java in (/root/chengxu/maven/apache-maven-3.5.2/bin:/usr/local/sbin:/usr...
如果<name>_FOUND 为真,则将<name>_INCLUDE_DIR 加入 INCLUDE_DIRECTORIES, 将<name>_LIBRARY 加入 TARGET_LINK_LIBRARIES 中。 举个例子: FIND_PACKAGE(CURL) IF(CURL_FOUND) INCLUDE_DIRECTORIES(${CURL_INCLUDE_DIR}) TARGET_LINK_LIBRARIES(curltest ${CURL_LIBRARY}) ...
它相当于g++选项中的-I参数的作用,也相当于环境变量中增加路径到CPLUS_INCLUDE_PATH变量的作用。 LINK_DIRECTORIES 添加需要链接的库文件目录 LINK_DIRECTORIES(directory1 directory2 ...) 它相当于g++命令的-L选项的作用,也相当于环境变量中增加LD_LIBRARY_PATH的路径的作用。
一个简单原则,在哪里ADD_EXECUTABLE或者ADD_LIBRARY,如果需要改变目标存放路径,就在哪里加上上述的定义。在这个例子中,则是src下的CMakeLists.txt。 4、如何安装 安装有两种方式:一是从代码编译后直接make install安装,一种是打包时的指定目录安装。 makefile的写法如下: DESTDIR= install: mkdir -p $(DESTDIR)...
#如果<name>_FOUND 为真,则将<name>_INCLUDE_DIR 加入 INCLUDE_DIRECTORIES, #将<name>_LIBRARY 加入 TARGET_LINK_LIBRARIES 中。 find_package(CURL) if(CURL_FOUND) include_directories(${CURL_INCLUDE_DIR}) target_link_libraries(curltest ${CURL_LIBRARY}) ...