开发者

Using boost 1_47 with Visual C++ Express 2010

开发者 https://www.devze.com 2023-04-03 14:14 出处:网络
I have installed and built (successfully as far as I can tell), boost 1_47_0.I am now trying to get the sample program (the regex one) with their install guide to run and it is giving me th开发者_开发

I have installed and built (successfully as far as I can tell), boost 1_47_0. I am now trying to get the sample program (the regex one) with their install guide to run and it is giving me th开发者_开发问答e following link error:

LNK2019: unresolved external symbol "private: class boost::basic_regex ....

I suspect that the problem is that the libraries were built as vc100 using b2 and the Platform Toolset is Windows7.1SDK. I cannot change the Platform Toolset to v100 or it generates a kernel32.lib missing error. And I cannot seem to figure out how to build boost so that it is sdk7. I am using Visual C++ Express 2010 and have also tried building from the Windows7.1SDK command line prompt.

Any ideas?


I meet the same issue when I install boost with installer from "BoostPro Computing". And I solve it by compiling boost lib from source code. Here is the steps:

  1. enter Visual Studio 2010 Express Command Prompt
  2. cd to the unzipped boost dir
  3. bootstrap.bat
  4. .\b2

Done.

Here is my environment:

  • Win7 64bit
  • Visual Studio 2010 Express
  • boost 1_52_0


I build boost using a batch file that calls bjam, and I have not had any problems using the regex library in my projects. I am using VS2010 Pro. Here are the lines from my batch file, the extra library locations might not be important to you, I'm just putting them here for completeness:

call "C:\Program Files\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
SET ZLIB_SOURCE=%LIBS%\zlib
SET ZLIB_INCLUDE=%LIBS%\zlib
SET BZIP2_SOURCE=%LIBS%\bzip2-1.0.5
SET BZIP2_INCLUDE=%LIBS%\bzip2-1.0.5
SET BZIP2_BINARY=libbz2
SET ZLIB_BINARY=zdll
SET EXPAT_INCLUDE=%LIBS%\Expat\Source\lib
SET EXPAT_LIBPATH=%LIBS%\Expat\Bin
SET EXPAT_BIN=%LIBS%\Expat\Bin

bjam.exe  --disable-filesystem2 --build-type=complete --user-config=%UTILS%\user-config.jam 

Of course the path to your libraries and your user-config.jam will be different, and the only one line in user-config.jam that is really important is:

using msvc : 10.0 ;

After a successful build you will want to add the path to the stage/lib directory to you additional libraries settings for the project so the linker is satisfied. Also since this is an express build you may have to fiddle with the include path to pick up the platform SDK. I run this batch file from the top level Boost directory.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号