libsqlite3.dylib link with CMake
libsqlite3.dylib link with CMake
我正在尝试使用cmake将libsqlite3.dylib与C 链接,但我一直遇到以下错误:
Undefined symbols for architecture x86_64:
"_sqlite3_close", referenced from:
OpnavCamera::~OpnavCamera() in opnav_camera.cpp.o
OpnavCamera::updateState() in opnav_camera.cpp.o
"_sqlite3_exec", referenced from:
select_stmt(char const*) in opnav_camera.cpp.o
"_sqlite3_open", referenced from:
OpnavCamera::updateState() in opnav_camera.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../modules/opnav_camera/_opnav_camera.so] Error 1
make[1]: *** [SimCode/CMakeFiles/_opnav_camera.dir/all] Error 2
make: *** [all] Error 2
在线环顾四周,看来我没有成功地链接库。我是Cmake的新手,所以我不知道自己在做什么。
我添加了以下内容到我的cmakelists.txt:
#SQLite 3
# Look for the header file.
FIND_PATH(SQLITE3_INCLUDE_DIR NAMES sqlite3.h)
# Look for the library.
FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3.0)
# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE if all listed variables are TRUE.
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR)
# Copy the results to the output variables.
IF(SQLITE3_FOUND)
SET(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY})
SET(SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR})
message( " Found ")
ELSE(SQLITE3_FOUND)
SET(SQLITE3_LIBRARIES)
SET(SQLITE3_INCLUDE_DIRS)
ENDIF(SQLITE3_FOUND)
set (CMAKE_SHARED_LINKER_FLAGS "-Wl,--as-needed")
MARK_AS_ADVANCED(SQLITE3_INCLUDE_DIRS SQLITE3_LIBRARIES)
cmake正在找到库,但我认为我只是错过了如何实际链接它的一步。在此处输入图像描述
我缺少什么作品?
ld: symbol(s) not found for architecture x86_64
看来,您正在构建一个64位应用程序,并试图链接到32位库。您需要链接到库的64位版本。
相关文章:
- DLL Made with CMake 使程序崩溃
- VS2019 - Sudo Remote Debugging on Linux with Cmake project
- Cmake with Flex/Bison on windows
- OpenSSL with CMake - 未知选项: --sysroot 在构建 openSSL 时
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- 在Visual Studio中使用OpenMP with Clang和CMake
- Catch2 with CMake and Visual Studio
- libsqlite3.dylib link with CMake
- OpenMP 4.5 on Windows with Clang, CMake & Ninja
- Compile Eigen + Intel MKL with CMake
- CMake 64-bit with SFML 64-bit
- CMake trouble with Mingw
- LTO with LLVM and CMake
- 在 Windows 7 上安装 OpenCV 3.1.0 with CMake,opencv_ffmpeg.dll无效的
- CMake MacOS X bundle with BundleUtiliies for Qt application
- Qt WEBKIT with CMake
- Combining CMake option() with add_definitions()
- CMake with gmock
- hello StartupCommand PureMVC cpp with CMake
- CMake with cygwin " make[2]: *** No rule to make target 'cygwin' "