简单Ls.cpp的C ++ Boost编译错误 - 未定义对boost :: filesystem :: path :: filename的引用

时间:2014-02-18 01:19:32

标签: c++ windows boost mingw

我对C / C ++有点“新”。我花了很多时间在桌面上试图安装Boost并在我的Windows 8 64位计算机上使用MinGW。在我寻找答案时,我发现了a MinGW compiled with Boost 1.55 libraries。双击open_distro_window.bat后,错误已更改为不同的错误。使用simple_ls.cpp example from the Boost site,我收到了以下错误:

> g++ simple_ls.cpp -o simple_ls.exe
C:\Users\joe\AppData\Local\Temp\ccQLpVCt.o:simple_ls.cpp:(.text+0x1ba): undefined reference to `boost::filesystem::path::filename() const'
C:\Users\joe\AppData\Local\Temp\ccQLpVCt.o:simple_ls.cpp:(.text+0x23a): undefined reference to `boost::filesystem::path::filename() const'
C:\Users\joe\AppData\Local\Temp\ccQLpVCt.o:simple_ls.cpp:(.text+0x294): undefined reference to `boost::filesystem::path::filename() const'
C:\Users\joe\AppData\Local\Temp\ccQLpVCt.o:simple_ls.cpp:(.text+0x4bf): undefined reference to `boost::filesystem::path::filename() const'
c:/mingw-boost/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\joe\AppData\Local\Temp\ccQLpVCt.o: bad reloc address 0x0 in section `.data'
collect2.exe: error: ld returned 1 exit status

我也尝试过第一个样本Boost Getting Started Link Your Program,但我仍遇到更多错误,但一次只有一件事。有没有我缺少的东西,用Boost编译的MinGW的设置是坏的,还是Windows 8? This is a link to the errors on GitHub

1 个答案:

答案 0 :(得分:0)

使用带有-l library_filename选项的g ++。如果您的boost库不在系统的lib路径中,那么使用-L BOOST_LIB_DIR选项,让编译器在指定的目录中查找库文件。