无法在Omnet ++中使用GMP

时间:2017-02-05 13:14:03

标签: omnet++

我在ubuntu上安装了GMP。我从" https://gmplib.org"下载GMP-6.1.2。然后我在Home文件夹中解压缩并安装如下:

1. cd gmp-6.1.2
2../configure
3. make
4. sudo make install
5. make check

我检查过,gmp安装在" / usr / local"我打开了omnet,我改变了这些路径: 我输入了Properties项目:

1. in (c/c++ build | environment | path ), I added : 
(/usr/local/include:/usr/local/lib) then I applied.

2. in (c/c++ General | paths and symbols | includes),I added 
(/usr/local/include) in assembly, GNU c, GNU C++.then I applied.

在((c / c ++一般|路径和符号|库路径)。我添加了(/ usr / local / lib)。然后我应用了。

另外((c / c ++一般|路径和符号|库)。我写了" gmpxx"和" gmp"。然后我申请了。

3. in (omnet++ | Makemake | select "src" folder | select Options | 
custom | makefrag ) I added "EXTRA_OBJS=-lgmp". Then I applied them 
and OK.

之后,我构建了我的项目并收到了这些错误:

  

描述资源路径位置类型   刷新Makefile时出错:/home/mar/Desktop/omnet_proj/id_2/test_independent/mixim-2.3/src/EXTRA_OBJS=-lgmp(没有这样的文件或目录)mixim-2.3未知的Makefile问题

     

描述资源路径位置类型   节目" gcc"在项目属性C / C ++问题

中的PATH mixim-2.3 [发现选项]页面中找不到      

描述资源路径位置类型   计划"制作"在PATH mixim-2.3 C / C ++中找不到问题

我必须说我在Omnet ++中使用MIXIM。 我不知道发生了什么事?

你能帮我吗?

先谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

假设您在libgmp项目中使用sudo apt-get install libgmp3-dev安装了OMNeT++,则必须执行此操作:

  1. 在您要使用gmp的简单模块的头文件(* .h)中添加:

    #include <gmp.h>
    
  2. 转到Project Properties,选择OMNeT++ | Makemake |选择src | Options | Custom | Makefrag并写下:

    EXTRA_OBJS=-lgmp
    
  3. 要检查您是否可以在源文件中的某处添加以下代码,例如在initialize()中:

        mpz_t a, b, c;
        mpz_init_set_str(a, "123", 10);
        mpz_init_set_str(b, "458", 10);
        mpz_init(c);
        mpz_add(c, a, b);
    
        char * ctxt = mpz_get_str(NULL, 10, c);
        EV << "c=" << ctxt << std::endl;  // print the result
        mpz_clear(a);
        mpz_clear(b);
        mpz_clear(c);
    

答案 1 :(得分:0)

我想我能做到。

我在ubuntu中安装了gmp。然后我将“gmp.h”和“gmpXX.h”添加到我的项目中。

之后,我去了项目属性| omn​​et ++ |选择SRC |选项|链接|要链接的附加库:( - l选项),我插入了这两个选项: gmpxx,gmp。

另外,我在“路径和符号|库路径”中的“路径和符号(在项目属性中)|包含”和“/ usr / local / lib”中添加了“/ usr / local / include”。

之后,我在“路径和符号|库路径”中的“路径和符号(在项目属性中)|包含”和“/ usr / lib / i386-linux-gnu”中添加了“/ usr / include”。

我没有任何错误地构建了我的项目。

最后,我亲爱的Jurzy D的例子没有任何错误。

我没有改变任何其他事情。