错误:尝试在全新系统安装中构建应用程序后未定义对'...'的引用
Error: undefined reference to '...' after trying to build app in fresh system installation
我正在使用GCC编译器和Code::Blocks作为IDE在Win7 OS中开发C ++应用程序。我已经设置好了一切,一切正常。现在我需要将整个开发环境移动到虚拟机,所以我安装了系统,IDE编译器,复制了整个项目。我仔细检查了所有库和选项,它们是相同的。当我尝试构建应用程序时,我从构建日志(相关部分(中收到此错误 (50(:
-------------- Build: Debug in MagicReportsFull (compiler: GNU GCC Compiler)---------------
mingw32-g++.exe -Wall -std=c++11 -fexceptions -std=c++11 -g -IC:ProjectsMagicReportsFullinclude -IC:ProjectsMagicReportsFull -I"C:Program Files (x86)CodeBlocksMinGW" -IC:ProjectsMagicReportsFull -I"C:Program Files (x86)CodeBlocksMinGW" -IC:ProjectsMagicReportsFullinclude -c C:ProjectsMagicReportsFullmain.cpp -o objDebugmain.o
windres.exe -J rc -O coff -i C:ProjectsMAGICR~1resource.rc -o objDebugresource.res
windres.exe -J rc -O coff -i C:ProjectsMAGICR~1version.rc -o objDebugversion.res
mingw32-g++.exe -LC:ProjectsMagicReportsFull -o binDebugMagicReportsFull.exe objDebugmain.o objDebugresource.res objDebugversion.res -lcomdlg32 -lgdi32 -luser32 -lshlwapi ....CustomLibrarieslpng1636-buildlibpng16.a ....CustomLibrarieszlib-1.2.11-buildlibzlibstatic.a ....CustomLibrarieslibharu-RELEASE_2_3_0-buildsrclibhpdfs.a -lcomctl32 -mwindows
.
.
.
objDebugmain.o: In function `Z19CUSTOM_RegularTableP13_HPDF_Doc_RecP14_HPDF_Dict_RecffPfiS3_ic':
C:/Projects/MagicReportsFull/pdf.h:99: undefined reference to `HPDF_Page_Rectangle'
C:/Projects/MagicReportsFull/pdf.h:100: undefined reference to `HPDF_Page_Stroke'
C:/Projects/MagicReportsFull/pdf.h:102: undefined reference to `HPDF_Page_Rectangle'
C:/Projects/MagicReportsFull/pdf.h:103: undefined reference to `HPDF_Page_Stroke'
C:/Projects/MagicReportsFull/pdf.h:114: undefined reference to `HPDF_Page_MoveTo'
C:/Projects/MagicReportsFull/pdf.h:115: undefined reference to `HPDF_Page_LineTo'
C:/Projects/MagicReportsFull/pdf.h:116: undefined reference to `HPDF_Page_Stroke'
C:/Projects/MagicReportsFull/pdf.h:125: undefined reference to `HPDF_Page_MoveTo'
C:/Projects/MagicReportsFull/pdf.h:126: undefined reference to `HPDF_Page_LineTo'
C:/Projects/MagicReportsFull/pdf.h:127: undefined reference to `HPDF_Page_Stroke'
objDebugmain.o: In function `Z27CUSTOM_RegularTable_AddText20_CUSTOM_TableHandleriiPKhjccP14_HPDF_Dict_Recj':
C:/Projects/MagicReportsFull/pdf.h:198: undefined reference to `HPDF_Font_GetCapHeight'
C:/Projects/MagicReportsFull/pdf.h:232: undefined reference to `HPDF_Font_MeasureText'
C:/Projects/MagicReportsFull/pdf.h:294: undefined reference to `HPDF_Page_SetFontAndSize'
C:/Projects/MagicReportsFull/pdf.h:300: undefined reference to `HPDF_Font_MeasureText'
C:/Projects/MagicReportsFull/pdf.h:315: undefined reference to `HPDF_Page_BeginText'
C:/Projects/MagicReportsFull/pdf.h:316: undefined reference to `HPDF_Page_TextRect'
C:/Projects/MagicReportsFull/pdf.h:317: undefined reference to `HPDF_Page_EndText'
objDebugmain.o: In function `Z13pdf_generatorcPci':
C:/Projects/MagicReportsFull/pdf.h:347: undefined reference to `HPDF_New'
C:/Projects/MagicReportsFull/pdf.h:353: undefined reference to `HPDF_SetCompressionMode'
C:/Projects/MagicReportsFull/pdf.h:355: undefined reference to `HPDF_GetFont'
C:/Projects/MagicReportsFull/pdf.h:356: undefined reference to `HPDF_GetFont'
C:/Projects/MagicReportsFull/pdf.h:357: undefined reference to `HPDF_GetFont'
C:/Projects/MagicReportsFull/pdf.h:358: undefined reference to `HPDF_GetFont'
C:/Projects/MagicReportsFull/pdf.h:362: undefined reference to `HPDF_LoadPngImageFromFile'
C:/Projects/MagicReportsFull/pdf.h:442: undefined reference to `HPDF_AddPage'
C:/Projects/MagicReportsFull/pdf.h:444: undefined reference to `HPDF_Page_SetSize'
C:/Projects/MagicReportsFull/pdf.h:446: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:447: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:460: undefined reference to `HPDF_Page_DrawImage'
C:/Projects/MagicReportsFull/pdf.h:463: undefined reference to `HPDF_Page_BeginText'
C:/Projects/MagicReportsFull/pdf.h:464: undefined reference to `HPDF_Page_SetRGBFill'
C:/Projects/MagicReportsFull/pdf.h:465: undefined reference to `HPDF_Page_SetFontAndSize'
C:/Projects/MagicReportsFull/pdf.h:466: undefined reference to `HPDF_Page_TextRect'
C:/Projects/MagicReportsFull/pdf.h:467: undefined reference to `HPDF_Page_EndText'
C:/Projects/MagicReportsFull/pdf.h:685: undefined reference to `HPDF_AddPage'
C:/Projects/MagicReportsFull/pdf.h:687: undefined reference to `HPDF_Page_SetSize'
C:/Projects/MagicReportsFull/pdf.h:689: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:690: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:699: undefined reference to `HPDF_Page_DrawImage'
C:/Projects/MagicReportsFull/pdf.h:702: undefined reference to `HPDF_Page_BeginText'
C:/Projects/MagicReportsFull/pdf.h:703: undefined reference to `HPDF_Page_SetRGBFill'
C:/Projects/MagicReportsFull/pdf.h:704: undefined reference to `HPDF_Page_SetFontAndSize'
C:/Projects/MagicReportsFull/pdf.h:705: undefined reference to `HPDF_Page_TextRect'
C:/Projects/MagicReportsFull/pdf.h:706: undefined reference to `HPDF_Page_EndText'
C:/Projects/MagicReportsFull/pdf.h:829: undefined reference to `HPDF_AddPage'
C:/Projects/MagicReportsFull/pdf.h:831: undefined reference to `HPDF_Page_SetSize'
C:/Projects/MagicReportsFull/pdf.h:833: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:834: undefined reference to `HPDF_Page_SetLineWidth'
C:/Projects/MagicReportsFull/pdf.h:843: undefined reference to `HPDF_Page_DrawImage'
C:/Projects/MagicReportsFull/pdf.h:846: undefined reference to `HPDF_Page_BeginText'
Process terminated with status 1 (0 minute(s), 5 second(s))
50 error(s), 37 warning(s) (0 minute(s), 5 second(s))
如您所见,我正在使用 LibHaru 库,它在访客系统中运行良好。我也相信问题不在于库本身,而在于链接器。
项目生成选项 -> 链接器设置 -> 链接库:
libcomdlg32.a
libgdi32.a
libuser32.a
libshlwapi.a
....CustomLibrarieslpng1636-buildlibpng16.a
....CustomLibrarieszlib-1.2.11-buildlibzlibstatic.a
....CustomLibrarieslibharu-RELEASE_2_3_0-buildsrclibhpdfs.a
libcomctl32.a
我尝试在Win7虚拟机中做同样的事情,结果相同。我正在使用与访客系统中相同的文件。知道出了什么问题吗?
我发布了这个问题,因为我不确定链接器设置是否正常,但由于没有人说它是错误的,所以我搜索了其他问题。所以事实证明我一直在全局编译器设置中使用错误的程序文件 ->工具链可执行文件。此外,库顺序是错误的,LibHaru 需要首先是其他依赖库。卸载的GCC和IDE,然后安装了正确版本的GCC + IDE。现在它可以毫无问题地编译。
我怀疑重新安装编译器可能已经更改了 MinGW 的版本,并且这两个版本之间的库可能不兼容。 我以前对 MinGW 也有类似的奇怪行为,并且使用相同的编译器自己重新编译依赖项解决了这个问题(尽管这是一个乏味的解决方案(。
- 编译器和系统完全一样吗?(相同的体系结构、版本等(
- 检查您是否没有从以前的系统复制某些代码块环境特定的文件,也许代码块正在尝试使用不适用于新环境的选项进行编译。
- libhpdfs 标头是否有系统依赖的定义?
- 你自己编译了libhpdfs.a吗?
- 您是否尝试过自己在虚拟机上重新编译它?
相关文章:
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 对 Scalar ::Scalar() 的未定义引用
- 对复制 CTOR 和 CTOR 的未定义引用
- 对显式实例化的模板函数的未定义引用
- TensorRT (C++ API) 对"createNvOnnxParser_INTERNAL"的未定义引用
- 2个模板化类的非模板友元函数未定义引用错误
- 编译 libfluid 样本控制器时对"event_base_del_virtual"的未定义引用
- 获取对function_name的未定义引用
- 对 'std::thread::_M_start_thread CMake 的未定义引用进行基准测试
- 对结构方法的未定义引用
- 使用内联函数 c++ 的未定义引用
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 对 DLOPEN 的未定义引用
- QT C++中对全局变量的未定义引用
- 快速数学导致对"__pow_finite"的未定义引用
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- OpenCV 3.4.3 中对 'cv::String::d eallocate()' 错误的未定义引用