Posts tagged ‘mingw’
现象
在编译手工编码的 MpiProdave.cpp/MpiProdave.h 时,使用 DialogBlocks MinGW Debug (Non-Unicode)标准编译器设置发生编译错误如下。这种错误在其他非 DialogBlocks 生成的某些 c++ 文件编译时也会出现。而使用 MinGW Unicode Debug 标准编译设置时则没有编译错误发生。
g++.exe -c -o MinGWDebug/MpiProdave.o -fno-pcc-struct-return -fstrict-aliasing -Wall -Wno-write-strings -D__WXMSW__ -D__GNUWIN32__ -D__WIN95__ -D__WXDEBUG__ -ggdb -O0 -Wall -Wno-write-strings -I"C:/wx/include" -I"C:/wx/contrib/include" -I"C:/wx/lib/gcc_lib/mswd" src\MpiProdave.cpp *** In file included from C:/wx/include/wx/toplevel.h:317, *** from C:/wx/include/wx/dialog.h:17, *** from C:/wx/include/wx/msw/msgdlg.h:16, *** from C:/wx/include/wx/msgdlg.h:49, *** from src\MpiProdave.cpp:17: *** C:/wx/include/wx/msw/toplevel.h:122: error: expected identifier before numeric constant *** C:/wx/include/wx/msw/toplevel.h:122: error: expected `,' or `...' before numeric constant *** C:/wx/include/wx/msw/toplevel.h:122: error: ISO C++ forbids declaration of `parameter' with no type *** mingw32-make.exe: *** [MinGWDebug/MpiProdave.o] Error 1
下载 pre-built bjam executable 到 boost source code root。
mkdir boost-build bjam --build-dir=boost-build toolset=gcc-3.4.5 --build-type=minimal stage
参考
准备
- 下载安装 pexports
- 生成 .def
pexports xxx.dll > yyy.def
用法一:转换成静态库
- 生成 .a
dlltool -D libfftw3-3.dll -d libfftw3-3.def -l fftw.a
- 静态联编
用法二:使用动态 DLL
- 生成 .lib
dlltool -D libfftw3-3.dll -d libfftw3-3.def -l fftw.a
- 动态联编
- 正确放置 DLL