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. 2019牛客暑期多校训练营(第七场) - C - Governing sand - 平衡树

    5 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 感觉该出14才对,取前k小写成了取前k大. 5 1 5 4 2 5 3 3 5 2 4 5 1 6 5 5 suf=55 res=0 a ...

  2. springboot多数据源&动态数据源(主从)

    多数据源 使用Spring Boot时,默认情况下,配置DataSource非常容易.Spring Boot会自动为我们配置好一个DataSource. 如果在application.yml中指定了s ...

  3. Log4Net 之将日志记录到数据库的后台实现 (二)

    原文:Log4Net 之将日志记录到数据库的后台实现 (二) 大家下午好,昨天讲了配置,今天我们讲讲后台实现,在完成了后台实现后,我们才能真正意义上的解决把自定义属性字段值录入到数据库中. 在开写之前 ...

  4. WinForm:如何在ListBox中添加CheckBox

    http://www.cnblogs.com/myshell/archive/2010/09/24/1834184.html 最近因为做WinForm的项目,遇到这个问题,当时以为CheckedLis ...

  5. Vue 实现文件的下载

    上次说了,实现文件的上传需要三步,那么实现文件的下载呢? 答:也是三步 第一步:获取文件的 fileId (或者别的什么的,总之应该是代表这个文件的东西),各家后台需要的都不一样 第二步:调用接口 t ...

  6. 【知识强化】第七章 输入/输出系统 7.3 I/O接口

    下面我们进入第七章的第三节,I/O接口. I/O接口呢就是解决了外设和主机之间的一个连接的问题.那么我们这一节就要来看一下I/O接口它有哪些功能,以及它是怎么组成的,还有就是我们主机如何来定位到那样一 ...

  7. luogu2046 海拔

    题目链接[NOI2010]海拔 首先有个性质就是海拔只会有\(0\)和\(1\)两种. 证明:海拔下降和人数乘积为总消耗,确定了海拔下降总数,如果有个地方可以使得单位消耗最小,那么全部消耗不会更劣. ...

  8. JS基础入门篇(三)— for循环,取余,取整。

    1.for循环 1.for的基本简介 作用: 根据一定的条件,重复地执行一行或多行代码 语法: for( 初始化 ; 判断条件 ; 条件改变 ){ 代码块 } 2.for循环的执行顺序 <bod ...

  9. MyBatis(五)

    MyBatis Generator CMyBatis代码生成器,简称 MBG)

  10. 06.队列、python标准库中的双端队列、迷宫问题

    class QueueUnderflow(ValueError): """队列为空""" pass class SQueue: def __ ...