之前都没用过 CMake,最近因为需要用 CLion,CLion 基于 CMake 来开发项目,所以肯定要写 CMakeLists,因为这个,遇到不少问题。最近一个项目里的 CMakeList.txt 是在网上找来的例子改的,恕我直言,网上的东西是真不靠谱,昨天一篇文章我也是在吐槽,可能是计算机太热门了,什么牛鬼蛇神都往计算机来凑热闹,文章你扒我我扒你(特别是某SDN)所以我现在把文章也传到某SDN免得被人100%抄袭,错误一传十十传百,我也不想多说了,多读点书吧一个个的,别发一些误导人的文章(所谓的教程)了!
如果自己的 exe 要到别人的电脑上运行,那就需要相应的链接库,昨天我把我的程序发给朋友,就出现了如图所示的情况:
找不到 libwinpthread-1.dll
其实之前我用 VSCode 的时候也遇到了,只需要将 libstdc++ 和 libgcc 静态链接就行了,谁知 CMake 在处理 -dynamic
编译器标志的方式方面做得很奇怪,使得 -Wl,-Bstatic -lstdc++ -lwinpthread -Wl,-Bdynamic
解决方案不起作用:
set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc