我需要为项目设置静态链接。
当前状态为:
target_link_libraries(armd
${SQLITE3_LIBRARY}
${CMAKE_THREAD_LIBS_INIT}
rt)
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_CXX_FLAGS "-O0 -Wall -fmessage-length=0")
无法在设备上工作,我需要静态链接(设备添加 - 静态),但是当我做
时set(CMAKE_CXX_FLAGS "-O0 -Wall -fmessage-length=0 -static")
我得到了:
/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libsqlite3.a(sqlite3.o): In function `unixDlOpen':
sqlite3.c:(.text+0x3e5d4): undefined reference to `dlopen'
如何在不遇到此错误的情况下设置SQLite的静态链接?也许我的根系缺少某些内容?
当静态地链接某些档案时,您需要自己指定其依赖项(在这种情况下为libdl)。请注意,您在链接器命令行上指定存档文件的顺序比链接共享对象更重要。