这可能听起来非常基本/天真......但是自从我使用C / C ++以来它已经很久了,并且对此感到迷茫......
我正忙着开始使用舆论探索者,这需要我获得SUNDANCE 4.3.7。事实证明,编制SUNDANCE比我想象的要大。
按照说明,我启动了install_sundace脚本,但是收到此错误...看起来我的编译环境没有被正确检测到......
我已经尝试过几件事 -
install_sundance脚本使用c-shell。作为一个测试,在安装C shell并试图看看我是否仍然可以获得我的C编译环境。这很好。
我尝试编写一个基本程序,该程序使用至少一个除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
答案 0 :(得分:1)
表面上看,#include <string.h>
标题中似乎缺少#include <cstring>
或sunstr.h
。
使用<cstring>
,您还需要一些using
子句 - 两个函数各占一个。
您不会在标题中添加using namespace std;
子句。