如何解决在Windows中使用CMakemingw在Qt5.14.0 static中未定义的引用
我使用以下指南在Windows中使用MinGW编译器静态编译了Qt5.14.0:
编译qt之后,使用qmake创建的项目将被静态编译,没有任何错误。但是定义为cmake的项目会出现以下错误:
qcoreapplication_win.cpp:-1: error: undefined reference to `GetFileVersionInfoSizeW@8'
qcoreapplication_win.cpp:-1: error: undefined reference to `GetFileVersionInfoW@16'
qcoreapplication_win.cpp:-1: error: undefined reference to `VerQueryValueW@16'
qglobal.cpp:-1: error: undefined reference to `_imp__WSACleanup@0'
qglobal.cpp:-1: error: undefined reference to `_imp__WSAStartup@8'
qglobal.cpp:-1: error: undefined reference to `_imp__WSACleanup@0'
CMakeLists.txt
cmake_minimum_required(VERSION 3.5)
project(untitled27 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt5Core)
add_executable(untitled27
main.cpp
)
target_link_libraries(untitled27 Qt5::Core)
main.cpp
#include <QCoreApplication>
int main(int argc,char *argv[])
{
QCoreApplication a(argc,argv);
return a.exec();
}
解决方法
我大量搜索了此问题,并在下面的链接中找到了问题,该问题与Qt5.14.0版本中的一个错误相关,该错误已在更高版本中修复。 我使用Qt5.14.2版本进行了测试,并且编译时没有错误。 Static linking against Qt on Windows using CMake
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。