我試圖遷移QtProject文件,正是從https://github.com/gamecreature/QtAwesome遷移Qt工程文件的CMake
項目文件,即時通訊試圖遷移QtAwesome庫:
TARGET = QtAwesome
TEMPLATE = lib
CONFIG += staticlib c++11
SOURCES += QtAwesome.cpp
HEADERS += QtAwesome.h
isEmpty(PREFIX) {
unix {
PREFIX = /usr
} else {
PREFIX = $$[QT_INSTALL_PREFIX]
}
}
install_headers.files = QtAwesome.h
install_headers.path = $$PREFIX/include
target.path = $$PREFIX/lib
INSTALLS += install_headers target
RESOURCES += \
QtAwesome.qrc
而且我的翻譯是:
cmake_minimum_required(VERSION 2.8.11)
project(QtAwesome)
file(GLOB_RECURSE CODE_FILES QtAwesome.cpp)
find_package (Qt5Core REQUIRED)
ADD_DEFINITIONS(-DQTAWESOME_LIBRARY)
qt5_add_resources(RESOURCE_FILES QtAwesome.qrc)
qt5_wrap_cpp(LIB_HEADER_MOC QtAwesome.h)
add_library(QtAwesome STATIC QtAwesome.cpp QtAwesome.h)
target_link_libraries(QtAwesome
Qt5::Widgets
)
它編譯,但是當我嘗試使用此建庫,我得到以下錯誤:
[100%] Linking CXX executable MyProject.exe
QtAwesome.lib(QtAwesome.cpp.obj) : error LNK2019: unresolved external symbol "int __cdecl qInitResources_QtAwesome(void)" ([email protected]@YAHXZ) referenced in function "public: bool __cdecl QtAwesome::initFontAwesome(void)" ([email protected]@@QEAA_NXZ)
MyProject.exe : fatal error LNK1120: 1 unresolved externals
凡LIB_SOURCE被設置? – mascoj
@mascoj我剛剛更新了沒有LIB_SOURCE的cmake文件並設置了我的源文件,並且仍然有問題 –