【发布时间】:2016-10-03 14:47:17
【问题描述】:
我正在尝试迁移一个 QtProject 文件,正是来自 https://github.com/gamecreature/QtAwesome 的 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)" (?qInitResources_QtAwesome@@YAHXZ) referenced in function "public: bool __cdecl QtAwesome::initFontAwesome(void)" (?initFontAwesome@QtAwesome@@QEAA_NXZ)
MyProject.exe : fatal error LNK1120: 1 unresolved externals
【问题讨论】:
-
LIB_SOURCE 设置在哪里?
-
@mascoj 我刚刚更新了没有 LIB_SOURCE 的 cmake 文件并设置了我的源,但我仍然遇到问题