![](/img/trans.png)
[英]How do you tell CMake to statically link to a library in a package found with find_package?
[英]How do I link to Licensed Qt Libraries statically with CMake using find_package?
我正在將 Visual Studio 2010 項目移植到 CMake 和 Visual Studio 2015。我使用默認行為構建並鏈接到 Qt
find_package (Qt5 5.9.3 COMPONENTS
Core
Multimedia
Network
Widgets
Xml
XmlPatterns
REQUIRED)
我想要做的是利用我擁有開發人員許可證並且應該能夠靜態鏈接到 Qt 庫而無需從源代碼構建的事實,從而顯着清理我的應用程序目錄。
我正在建立與
target_link_libraries (${ProjectName}
Qt5::Core
Qt5::Multimedia
Qt5::Network
Qt5::Widgets
Qt5::Xml
Qt5::XmlPatterns)
我還需要什么才能使它靜態鏈接?
如果這還沒有完成,您將不得不靜態構建 Qt。
簡而言之,您必須安裝 perl、python、可選的 jom 並按照https://doc.qt.io/qt-5/windows-building.html 上的說明進行操作
下載源碼后,啟動shell,configure命令如下所示
configure.bat -platform win32-msvc -release ^
-nomake examples ^
-nomake tests ^
-static
您還必須決定是否需要SSL 支持。 如果沒有,只需給出選項:
-no-ssl
如果是,則附加選項類似於
-openssl -I %OPENSSL_INCLUDE_DIR% -L %OPENSSL_LIBRARY_DIR%
必須通過。
可以使用Qt5 配置腳本中使用的 OpenSSL 版本。
$version = "1_0_2o"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
您還必須在這方面做出一些決定: https : //doc.qt.io/qt-5/windows-requirements.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.