http://bbs.csdn.net/topics/390239632

kerosun
kerosun
等级:
结帖率:96.92%
楼主 发表于: 2012-10-11 12:00:51
 

比如有一个tools工程,提供给其他工程通用的工具函数。
我现在的做法就只能是ctrl+c|ctrl+v
一旦工具函数发生变化,还需要在用到这些函数的工程中更新,比较麻烦。
看到eclipse工程属性设置中有Project References,但是一直不会用。
那位好心人能说说怎样实现我的需求。

回复次数:3

kerosun

kerosun
等级:

#1
得分:0

回复于:
2012-10-11 18:28:24

仔细弄了一下过程如下:
1.右键需要引入tools工程的工程→Project References→勾选tools工程。
2.C/C++ General→Paths and Symbols→Include→加入需要引入文件的路径。
3.在工程中使用tools的源文件中加入include语句#include <tools.h>
4.编译工程时提示undefined reference to `stringLower(std::string const&)'
(stringLower是tools中定义的一个函数)
5.试着加入#include <tools.cpp>,编译通过。
6.删除#include <tools.h>,仍然编译通过。
总感觉是eclipse cdt的bug,按道理#include <tools.h>以后就应该可以了,还要加#include <tools.cpp>这么奇怪的语句。

kerosun

kerosun
等级:

#2
得分:0

回复于:
2012-10-12 11:18:35

我对eclipse的使用还不熟悉,昨天又捣鼓了一下,暂时就先这样吧。
操作过程如下:
1.打开tools工程。
2.右键需要引入tools工程的工程→Project References→勾选tools工程。
3.C/C++ General→Paths and Symbols→Include→加入需要引入文件的路径。
4.在工程中使用tools的源文件中加入include语句#include <tools.h>
5.ctrl+鼠标左键单击tools工程中的tools.h和tools.cpp,然后按住ctrl把其拖放至调用tools的工程中。
  此时系统会显示文件操作对话框,选择Link to file在工厂中放一个文件的连接。
6.编写使用tools的代码,此时可以正常编译成功。

如果需要对tools中的函数进行修改,那么不管操作本工程中的文件连接,还是操作tools工程中的源文件,都是同样的效果,这样就不会导致文件不同步的问题。

defonds
Defonds
等级:
3

#3
得分:40

回复于:
2012-10-14 13:18:26

linux + eclipse + cdt 报错undefined reference......好麻烦的,这位大牛给出的方法可行,特此MARK!!!!的更多相关文章

  1. windows下codeblocks报错undefined reference to `WSAStartup@8'|

    Windows下C++Socket编程,调用WSAStartup函数报错:undefined reference to `WSAStartup@8'| 本人使用的是Codeblocks MinGW M ...

  2. 执行安装redis报错undefined reference to `__sync_add_and_fetch_4'

    执行make命令时报错:   zmalloc.o: In function `zmalloc_used_memory': /var/lib/tcommsvr/redis-2.8.0-rc4/src/z ...

  3. centos7 安装PHP5.3 报错undefined reference to symbol '__gxx_personality_v0@@CXXABI_1.3'

    系统:centos 7 原有PHP版本:5.6.27,5.4.45 试着安装nginx+多php版本,首先安装了5.6和5.4的版本,一帆风顺,但是在安装5.3.29版本时,出现问题了,configu ...

  4. cocos2d-x android 添加新场景报错: undefined reference to `vtable for XXX'

    转载自 居家懒人 http://www.cnblogs.com/JD85/archive/2012/09/17/2688128.html 加入写了新场景SecondScene,结果在cpp文件里类名地 ...

  5. boost.numpy编译报错:undefined reference to `PyInt_FromLong' libboost_numpy.so: undefined reference to `PyCObject_AsVoidPtr'

    [ 31%] Built target boost_numpy[ 36%] Building CXX object libs/numpy/example/CMakeFiles/dtype.dir/dt ...

  6. Linux-Linux下安装redis报错"undefined reference to__sync_add_and_fetch_4"解决办法

    如果出现这种错误可以在make的时候加上CFLAGS="-march=i686" 即 make CFLAGS="-march=i686" ----------- ...

  7. c++ 静态变量报错 undefined reference to static members

    c++中静态变量不但要在头文件中declare,还要在实现的cpp中declare.当然也可以赋个初始值. class foo { int _i; public: foo(int i) : _i(i) ...

  8. Linux嵌入式学习-Mplayer交叉编译-undefined reference to `clock_gettime' MPlayer

    編譯Mplayera. 配置.configure# ./configure --host-cc=gcc --cc=arm-linux-gcc --target=arm --enable-static ...

  9. The command ("dfs.browser.action.delete") is undefined 解决Hadoop Eclipse插件报错

    Hadoop Eclipse插件 报错. 使用 hadoop-eclipse-kepler-plugin-2.2.0.jar 如下所示 Error Log 强迫症看了 受不了 The command ...

随机推荐

  1. (一:NIO系列)JAVA NIO 简介

    出处:JAVA NIO 简介 Java 中 New I/O类库 是由 Java 1.4 引进的异步 IO.由于之前老的I/O类库是阻塞I/O,New I/O类库的目标就是要让Java支持非阻塞I/O, ...

  2. python 导入re模块语法及规则

    正则表达式是功能比较强大的模块,应用在很多地方,抓网页,数据分析,数据验证等,下面讲述python 导入re模块语法及规则. 1,re模块语法 re.match 从头开始匹配 re.search 匹配 ...

  3. ActiveMQ的介绍及使用

    一.消息中间件概述 什么是消息中间件 发送者将消息发送给消息服务器,消息服务器将消感存放在若千队列中,在合适的时候再将消息转发给接收者. 这种模式下,发送和接收是异步的,发送者无需等待; 二者的生命周 ...

  4. V7双雄-基于Virtex7XC7VX690T的高性能计算板卡解决方案

    北京太速V7双雄-基于Virtex7XC7VX690T的高性能计算板卡

  5. NLP 中 Attention Model 解析

    Attention Model,简称AM模型,本文只谈文本领域的AM模型,其实图片领域AM的机制也是相同的. 目前绝大多数文献中出现的AM模型是附着在Encoder-Decoder框架下的,但是其实A ...

  6. Jupyter Notebook 安装与使用

    Ref: https://jupyter.org/install Installing Jupyter Notebook with pip python -m pip install --upgrad ...

  7. git 使用远程分支覆盖本地分支(重置本地分支)

    1 丢弃本地变更 重置为远端分支内容 git reset --hard origin/branchName 如 git reset --hard origin/F_AssetItem

  8. JS中判断一个数组是否有相同数据的

    页面中有多个<select> $("select").each(function(){ str.push($(this).val());}); // join() 方法 ...

  9. 对Promise的研究2

    3.Promise.prototype.then() Promise 实例具有then方法,也就是说,then方法是定义在原型对象Promise.prototype上的.它的作用是为 Promise ...

  10. 【ElasticSearch】概念

    小史是一个非科班的程序员,虽然学的是电子专业,但是通过自己的努力成功通过了面试,现在要开始迎接新生活了. 对小史面试情况感兴趣的同学可以观看面试现场系列. 随着央视诗词大会的热播,小史开始对诗词感兴趣 ...