Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将这些编译器选项转换为CMakeLists.txt_C++_Compilation_Linker_Cmake - Fatal编程技术网

C++ 将这些编译器选项转换为CMakeLists.txt

C++ 将这些编译器选项转换为CMakeLists.txt,c++,compilation,linker,cmake,C++,Compilation,Linker,Cmake,我正在尝试使用内联编译选项创建一个CMakeLists.txt- g++ -Wall -I/usr/include/cppconn -o testapp tester.cpp -L/usr/lib -lmysqlcppconn 我希望下面的方法能奏效 cmake_minimum_required(VERSION 2.8 FATAL_ERROR) set(CMAKE_C_FLAGS "-Wall") project(testapp) find_package(PCL 1.4 REQUIRE

我正在尝试使用内联编译选项创建一个CMakeLists.txt-

g++ -Wall -I/usr/include/cppconn -o testapp tester.cpp -L/usr/lib -lmysqlcppconn
我希望下面的方法能奏效

cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

set(CMAKE_C_FLAGS "-Wall")

project(testapp)

find_package(PCL 1.4 REQUIRED)

include_directories(. "/usr/include/cppconn")

link_directories("/usr/lib/" "mysqlcppconn")

add_executable(testapp tester.cpp) 
但是在
make
中,我得到了上述库内容的未定义引用错误。我是否误解了
包括_目录
和/或
链接_目录

My tester.cpp包括以下内容

#include <stdlib.h>
#include <iostream>
#include <mysql_connection.h>
#include <driver.h>
#include <exception.h>
#include <resultset.h>
#include <statement.h>
#包括
#包括
#包括
#包括
#包括
#包括
#包括

如果您实际上没有指定要链接到任何地方的库,请参阅文档(只需要一个目录列表)。你会想调查的。您可能还需要研究和寻找使用CMake处理第三方库的首选方法(尽管您不一定需要)。

您还需要实际链接库,
link\u directories()
仅指定多个目录。 您需要添加

target_link_libraries(testapp mysqlcppconn)
之后添加可执行文件()


另外,您应该能够完全跳过
链接\u目录()
/usr/lib
默认情况下通常位于库搜索路径中。

谢谢,这样更有意义now@rocketas另外添加了一个关于查找模块的链接,可能也会有所帮助。