Мне нужно установить статические ссылки для моего проекта.
Текущее состояние:
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")
не работает на устройстве, мне нужно связать статически (добавить -static для устройства), но когда я делаю
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). Помните, что порядок, в котором вы указываете архивные файлы в командной строке компоновщика, важнее, чем для связывания общих объектов.
Других решений пока нет …