在Ubuntu 64位上使用gcc 4.5.2编译SUNDANCE 4.73

时间:2011-10-08 13:25:50

标签: gcc ubuntu 64-bit sundance

这可能听起来非常基本/天真......但是自从我使用C / C ++以来它已经很久了,并且对此感到迷茫......

我正忙着开始使用舆论探索者,这需要我获得SUNDANCE 4.3.7。事实证明,编制SUNDANCE比我想象的要大。

按照说明,我启动了install_sundace脚本,但是收到此错误...看起来我的编译环境没有被正确检测到......

我已经尝试过几件事 -

  1. install_sundance脚本使用c-shell。作为一个测试,在安装C shell并试图看看我是否仍然可以获得我的C编译环境。这很好。

  2. 我尝试编写一个基本程序,该程序使用至少一个除stdio之外的库,它可以工作(我试过Strings.h)

  3. 我收到的错误讯息 - 正在运行命令 -

    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 个答案:

答案 0 :(得分:1)

表面上看,#include <string.h>标题中似乎缺少#include <cstring>sunstr.h

使用<cstring>,您还需要一些using子句 - 两个函数各占一个。

您不会在标题中添加using namespace std;子句。