2010-11-08 5 views
3

у кого есть jsoncpp работает на vc90?jsoncpp на vc90?

они используют систему сборки, Scons, о которой я никогда не слышал. Я установил последние версии Scons, нашел недокументированный scons.bat, запустил приглашение vc90 в моем jsoncpp-каталоге, модифицировал файл SConstruct для поддержки цели msvc90 (я скопировал шаблон с платформы msvc80, которая уже была поддержана) выполнила scons.bat platform=msvc90 и получила ошибки :

scons: done reading SConscript files. 
scons: Building targets ... 
cl /Fobuildscons\msvc90\src\jsontestrunner\main.obj /c src\jsontestrunner\main.c 
pp -GR -EHsc /nologo /MT /nologo /Iinclude /I. 
main.cpp 
c:\projects\docwayhead\wspt_docway_plugins\contrib\jsoncpp-src-0.5.0\include\jso 
n\value.h(5) : fatal error C1083: Cannot open include file: 'string': No such fi 
le or directory 
scons: *** [buildscons\msvc90\src\jsontestrunner\main.obj] Error 2 
scons: building terminated because of errors. 

я уже положил слишком много усилий на получение этого строить, и jsoncpp явно не сопровождается, поэтому я отказаться сейчас.

ответ

0

Измените файл платформы msvc90, чтобы убедиться, что каталоги VC90 включены при вызове cl (явно еще не в предоставленной командной строке).

Обратите внимание, что Scons написан с использованием Python, а также его конфигурационные файлы, поэтому люди, которые знают Python вокруг вас, могут помочь вам эффективно, даже если они ничего не знают о scons.

4

Не нужно использовать СОН.

Под /makefiles/vc71/вы можете найти визуальное студийное решение, которое вы можете преобразовать и построить.

+0

Это не работает для меня. Я получаю сообщение об ошибке: «невозможно запустить программу» C: \ myjsoncpp_location \ Makefiles \ vs71 ..../debug \ lib_json \ lib_json.ib ' –

0

Вы уверены, что ваша командная строка VS работает правильно? Я получил его на работу просто: - Добавление записи msvc90 в allowed_values ​​ - копировать/вставить раздел msvc80 позже и модифицируя его использовать окр [ «MSVS_VERSION»] = 9,0

Я использую SCons 1.3.0 ,

0

Установка scons для jsoncpp 0.5.0 не поддерживает VS 9.0 или 10.0 из коробки. Вам нужно сначала добавить msvc90 к allowed_values ​​в SConstruct линии 21, и добавить этот раздел на линии 103.

elif platform == 'msvc90': 
    env['MSVS_VERSION']='9.0' 
    for tool in ['msvc', 'msvs', 'mslink', 'masm', 'mslib']: 
     env.Tool(tool) 
    env['CXXFLAGS']='-GR -EHsc /nologo /MT' 

Просто замените 9,0 с 10,0 и 90 с 100 для поддержки VS 10.0.

0

Начиная с версии 0.6.0 из jsoncpp, вы можете избежать множества хлопот, используя новую версию Amalgamated. Это всего лишь два файла .h и один .cpp-файл, который вы компилируете непосредственно в свои проекты. Он отлично работает для меня до сих пор в VS 9 (и с несколькими модами я теперь могу скомпилировать его с C++ Builder 2010 - пока еще не тестировал результат).

Кстати, я подал ошибку против версии 0.6.0-rc2; одна строка в объединенной версии json.h нуждается в изменении имени макроса.

 Смежные вопросы

  • Нет связанных вопросов^_^