问题描述
我的前任有一个用C ++编写的现有项目。他使用CodeBlocks作为IDE。
我从未使用过此IDE,几乎没有编程任何C ++。他使用了tinyxml库,所以我将其添加到了项目中。
g++.exe -Wall -fexceptions -DBOOST_THREAD_USE_LIB=1 -D_WIN32_WINNT=0x0501
-Wall -IC:\somepath\boost_1_74_0 -Iinclude -Isrc -IZ:\tinyxml
-c C:\project\AsyncSerial.cpp -o obj\Debug\AsyncSerial.o
问题:
-Isrc -IZ:\tinyxml
在哪里定义?我没有Z:驱动器,并且想定义我自己的库路径。
我在设置和项目设置中进行了搜索,但没有找到类似的东西。
修改:
g++.exe -LC:\somepath\boost_1_74_0\stage\lib -o bin\Debug\project.exe obj\Debug\AsyncSerial.o obj\Debug\main.o obj\Debug\tinyxml\tinystr.o obj\Debug\tinyxml\tinyxml.o obj\Debug\tinyxml\tinyxmlerror.o obj\Debug\tinyxml\tinyxmlparser.o -lws2_32 C:\Programme\boost\boost_1_48_0\stage\lib\libboost_filesystem-mgw46-mt-s-1_48.a C:\Programme\boost\boost_1_48_0\stage\lib\libboost_system-mgw46-mt-s-1_48.a C:\Programme\boost\boost_1_48_0\stage\lib\libboost_date_time-mgw46-mt-sd-1_48.a C:\Programme\boost\boost_1_48_0\stage\lib\libboost_program_options-mgw46-mt-sd-1_48.a C:\Programme\boost\boost_1_48_0\stage\lib\libboost_thread-mgw46-mt-1_48.dll.a C:\Programme\boost\boost_1_48_0\stage\lib\libboost_regex-mgw46-1_48.dll.a
-lws2_32
的价值来自何处?我将boost安装在-L
中指定的路径上。我的提升路径是在全局变量中设置的,它是唯一显示的全局变量。
Edit2: 有关信息:我提升的路径是项目文件夹中的相对路径,而绝对不是程序文件中的相对路径。 添加了我的设置图片:
解决方法
在中查找包含搜索目录的配置
- 菜单“项目”
- 输入“构建选项...”
- 标签“搜索目录”
- 子标签“编译器”
“链接器”子标签中附近的链接器搜索路径。
要配置的库的链接以在选项卡(而不是子选项卡)“链接器设置”中进行链接。
我的CodeBlocks是16.01,但是无论您使用什么,都应该没什么不同。
OP评论的行情(使此答案完整):
我找到了它们,它们是在“调试/释放链接器”设置中定义的。
此处“是”是指链接器路径与问题中的配置屏幕截图不匹配的原因/位置。