Компиляция SUNDANCE 4.73 с помощью gcc 4.5.2 в Ubuntu 64 bit - PullRequest
2 голосов
/ 08 октября 2011

Это может звучать что-то очень простое / наивное ... но прошло много времени с тех пор, как я работал с C / C ++ и чувствую себя потерянным из-за этого ..

Я занят тем, что начинаю работать с мнением, что требует от меня SUNDANCE 4.3.7. Приступая к компиляции SUNDANCE, оказывается больше усилий, чем я думал.

Следуя инструкциям, я запускаю скрипт install_sundace, но получаю эту ошибку ... Похоже, что моя среда компиляции не обнаружена должным образом ...

Несколько вещей, которые я уже пробовал -

  1. скрипт install_sundance использует c-shell. В качестве теста В установил оболочку C и попытался выяснить, смогу ли я по-прежнему нормально работать со средой компиляции C. Это прекрасно работает.

  2. Я попытался написать базовую программу, которая использует хотя бы одну библиотеку, отличную от stdio, и она работает (я попробовал Strings.h)

Сообщение об ошибке, которое я получаю - Выполняемая команда -

g++ -Wall -Wno-deprecated -pipe -g -static -I../include -DHOME=\"/media/misc/development/opinionfinder/software/sundance-4.37/\" -c -fPIC -o shared/activation.o activation.C

и сообщение об ошибке -

In file included from nlptypes.h:16:0,
                 from activation.h:46,
                 from activation.C:26:
../include/sunstr.h: In constructor ‘sunstr::SRef::SRef(const char*)’:
../include/sunstr.h:99:21: error: ‘strlen’ was not declared in this scope
../include/sunstr.h:102:20: error: ‘strcpy’ was not declared in this scope
../include/sunstr.h: In member function ‘void sunstr::SRef::Assign(const char*)’:
../include/sunstr.h:131:26: error: ‘strlen’ was not declared in this scope
../include/sunstr.h:136:19: error: ‘strcpy’ was not declared in this scope

1 Ответ

1 голос
/ 08 октября 2011

Внешне в заголовке sunstr.h, по-видимому, отсутствуют #include <string.h> или #include <cstring>.

При <cstring> вам также понадобятся некоторые пункты using - по одному для каждогоиз двух функций.

Вы не добавляете предложение using namespace std; в заголовок.

...