首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导入OMNeT IDE中的外部对象文件

导入OMNeT IDE中的外部对象文件
EN

Stack Overflow用户
提问于 2021-04-07 17:10:24
回答 1查看 343关注 0票数 0

我有预先编写的功能,从另一个项目,我想包括作为我的模拟的一部分。我有这些函数的对象文件(函数.a)和头文件(函数.h)。

在一个普通的C/C++项目中,我能够使用这个answer中概述的步骤导入它们。但是,我的项目是作为OMNeT++项目创建的,而且C/C++ Build -> Settings -> GCC C Linker -> Miscellaneous属性似乎不可用。

是否有一种访问这些属性的方法或在OMNeT项目中导入对象文件的另一种替代方法?

编辑

我试着添加

代码语言:javascript
运行
复制
EXTRA_OBJS += -L/home/jacques/omnetpp-6.0pre10/workspace/model1t2/externalObjects/HM4 -lfunctions
CFLAGS += -I/home/jacques/omnetpp-6.0pre10/workspace/model1t2/externalObjects/include

但是我发现下面的错误

代码语言:javascript
运行
复制
make MODE=release V=1 all 
cd src && make
make[1]: Entering directory '/home/jacques/omnetpp-6.0pre10/workspace/model1t2/src'
Creating executable: ../out/clang-release/src/model1t2
clang++   -fuse-ld=lld -Wl,-rpath,/home/jacques/omnetpp-6.0pre10/lib -Wl,-rpath,/lib -Wl,-rpath,.  -Wl,--export-dynamic -L/home/jacques/omnetpp-6.0pre10/lib -o ../out/clang-release/src/model1t2 ../out/clang-release/src/M1M.o ../out/clang-release/src/M1M_m.o  -L/home/jacques/omnetpp-6.0pre10/workspace/model1t2/externalObjects/HM4 -lfunctions -Wl,--no-as-needed -Wl,--whole-archive  -Wl,--no-whole-archive -loppmain -Wl,-u,_cmdenv_lib -Wl,--no-as-needed -loppcmdenv -loppenvir -Wl,-u,_qtenv_lib -Wl,--no-as-needed -Wl,-rpath-link=/usr/lib/x86_64-linux-gnu -loppqtenv -loppenvir -lopplayout  -loppsim -ldl -lstdc++ 
ld.lld: error: unable to find library -lfunctions
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:100: ../out/clang-release/src/model1t2] Error 1
make[1]: Leaving directory '/home/jacques/omnetpp-6.0pre10/workspace/model1t2/src'
make: *** [Makefile:2: all] Error 2
"make MODE=release V=1 all" terminated with exit code 2. Build might be incomplete.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-07 20:47:13

OMNeT++项目使用Makefile,因此要添加外部库或类,应该修改makefrag。

您应该转到您的项目的ProjectPropertiesOMNeT++OMNeT++MakemakeMakemake、root或src,然后再选择Custom Custom Makefrag,然后编写以下行:

代码语言:javascript
运行
复制
EXTRA_OBJS += -LD:/foo/lib -lfunctions
CFLAGS += -ID:/foo/include

其中,D:/foo/lib是包含库(例如libfunctions.a s.a)和D:/foo/include -头文件的Windows目录的一个例子。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66990894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档