Clion生成动态链接库.dll
生活随笔
收集整理的這篇文章主要介紹了
Clion生成动态链接库.dll
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天研究如何生成動態鏈接庫.dll文件糾結了好久。在保證代碼文件不報錯的情況下,可能要注意幾個方面。
一·項目結構要完整。
Clion項目生成后會和其他編程工具不同的地方在于會有一個CMakelist文件和cmake-build-debug文件夾。
如果沒有Cmakelist可以使用importProject重新導入項目:https://blog.csdn.net/superSmart_Dong/article/details/98982679
如果編譯不通過,在代碼保證正確的情況下設置Setting->Build,Execution,Deployment->Cmake->Generation Path ,設置選中為你的cmake-build-debug。
二.編寫好Cmakelist文件。
在代碼確保沒報錯的前提下,只要寫好Cmakelist文件就可以進行Build,生成鏈接庫了。
add_library(DEMOProject SHARED Afile.cpp Afile.hpp)有這句話就能夠生成出dll動態鏈接庫了add_library(<name> [STATIC | SHARED | MODULE][EXCLUDE_FROM_ALL][source1] [source2] [...])
該指令的主要作用就是將指定的源文件生成鏈接文件,然后添加到工程中去,[STATIC | SHARED | MODULE]指定生成鏈接庫的類型,指定STATIC,SHARED,或者MODULE參數用來指定要創建的庫的類型。STATIC庫是目標文件的歸檔文件,在鏈接其它目標的時候使用。如果什么都不寫那么就會生成.a文件,也就是Linux的靜態鏈接庫文件。add_executable(DEMOProject Afile.cpp Afile.hpp)這是添加可執行文件的,如果把add_libarary寫成這個命令,而你寫的代碼中也沒有WinMain則會報找不到Winmain,編譯出來的文件也不是鏈接庫文件。會報類似下面的錯誤。undefined reference to 'Winmain' DemoProject.exe:error:Id return 1 exit status
make[2]: *** [test_cpu] Error 1
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/test.dir/all' failed
make[1]: *** [CMakeFiles/test.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
總結:Clion生成動態鏈接庫.dll文件,確保CMakelist文件和cmake-build-debug正確,然后確保add_library正確,類型為SHARED,之后Run->build,就慢慢等,build完了一般就會在cmake-build-debug文件夾下生成.dll文件了。項目太大,生成時間太長,自己最好新建一個小項目試試行不行。
總結
以上是生活随笔為你收集整理的Clion生成动态链接库.dll的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: idea.config.path is
- 下一篇: C++ 正态分布、概率累积密度函数的使