Я несчастный Linux-кодер, пытающийся заставить один из моих проектов работать в Windows 7, который включает в себя создание TagPy. Я использую MSVC2008 и Python 2.7.1 (версия x86).
Я успешно установил CMake и собрал TagLib, а также установил заголовки Boost и двоичный файл Boost.Python из установщика BoostPro. Я установил директории boost и taglib lib, включил директории и имена lib, а также компилятор boost в configure.py.
В мои% path%,% lib% и% libpath% добавлены каталоги для MSVC и т. Д., Как установлено пакетным сценарием, предоставленным VC.
По ссылке я получаю следующие ошибки:
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo
/INCREMENTAL:NO "/LIBPATH:C:/Program Files (x86)/taglib/lib" "/LIBPATH:C:\Progra
m Files (x86)\boost\boost_1_46_1\lib" /LIBPATH:C:\Python27\libs /LIBPATH:C:\Pyth
on27\PCbuild tagd.lib boost_python-vc90-mt-1_46_1.lib /EXPORT:init_tagpy build\t
emp.win32-2.7\Release\src/wrapper/basics.obj build\temp.win32-2.7\Release\src/wr
apper/id3.obj build\temp.win32-2.7\Release\src/wrapper/rest.obj /OUT:build\lib.w
in32-2.7\_tagpy.pyd /IMPLIB:build\temp.win32-2.7\Release\src/wrapper\_tagpy.lib
/MANIFESTFILE:build\temp.win32-2.7\Release\src/wrapper\_tagpy.pyd.manifest
Creating library build\temp.win32-2.7\Release\src/wrapper\_tagpy.lib and obje
ct build\temp.win32-2.7\Release\src/wrapper\_tagpy.exp
basics.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) pu
blic: __thiscall TagLib::String::String(class std::basic_string<wchar_t,struct s
td::char_traits<wchar_t>,class std::allocator<wchar_t> > const &,enum TagLib::St
ring::Type)" (__imp_??0String@TagLib@@QAE@ABV?$basic_string@_WU?$char_traits@_W@
std@@V?$allocator@_W@2@@std@@W4Type@01@@Z) referenced in function "public: stati
c void __cdecl boost::python::converter::implicit<class std::basic_string<wchar_
t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> >,class TagLib:
:String>::construct(struct _object *,struct boost::python::converter::rvalue_fro
m_python_stage1_data *)" (?construct@?$implicit@V?$basic_string@_WU?$char_traits
@_W@std@@V?$allocator@_W@2@@std@@VString@TagLib@@@converter@python@boost@@SAXPAU
_object@@PAUrvalue_from_python_stage1_data@234@@Z)
build\lib.win32-2.7\_tagpy.pyd : fatal error LNK1120: 1 unresolved externals
Чего мне не хватает?
(Примечание: у меня ранее были не связанные с Boost исключения в неразрешенных внешних файлах, но передача / EHsc в качестве флага компилятора исправила это.)