问题描述
这学期计算机视觉课程的第一个小作业需要用到CImg
这个库,但我在Windows系统下使用g++
编译,一直出现下面这样的问题:undefined reference to __imp_SetDIBitsToDevice'
1 | C:\Users\linji\AppData\Local\Temp\ccBTBH0S.o:Ex1.cpp:(.text$_ZN12cimg_library11CImgDisplay5paintEv[_ZN12cimg_library11CImgDisplay5paintEv]+0xb7): undefined reference to `__imp_SetDIBitsToDevice' |
解决办法
在百度、Stack Overflow寻找解决该问题的办法时,都没有很好的解决办法,后来在官方文档中找到在不同系统下编译的方法,一下子解决了该问题。
解决办法如下:
命令行下:在编译选项后面加上
-O2 -lgdi32
即可解决:g++ -o hello_word.exe hello_word.cpp -O2 -lgdi32
Dev-C++下:在导航栏找到工具->编译选项->编译时加入以下命令
-O2 -lgdi32
,如下图: