我们在Eclipse中有几个C项目,使用CDT(CodeSourcery ++).
有两个项目构建库,用于构建最终应用程序的"主"项目.
现在我们发现重建其中一个库不会导致主项目也重建.显然,makefile中没有依赖性来导致这种情况.
库本身已正确链接,但最终构建结果不依赖于它们.
我们如何创建这种依赖?
我确定有一个非常简单的解决方案.
我有一堆来自项目的.cpp/.h文件,比如在目录中 ~/files
另一方面,我想使用eclipse创建一个c ++项目来处理这些文件,所以我把我的工作区放在上面~/wherever.然后我创建一个c ++项目:~/wherever/project并包含源文件(位于/~files).
我遇到的问题是文件现在被复制了~/wherever/project,我想避免这种情况,特别是我知道要提交的文件的哪个副本.
这可能吗?我确定它是,但不能得到它.
提前致谢.
有没有让Eclipse CDT在每次构建项目时自动增加构建版本号?我可以找到ANT的解决方案,但据我所知,这只适用于Java项目.
如何在Eclipse CDT中创建项目以同时定位静态库和共享库?
如何在Eclipse中检查main函数的返回值?我已经搜索过了,用谷歌搜索了它,还搜索了CDT常见问题解答,但是我找不到任何东西。我目前正在使用CDT。
有谁知道制作Eclipse CDT C项目的好教程存在哪里?我在C++上看过几个,但是没有一个描述我作为插件和C编程的绝对初学者需要知道的东西:
任何帮助都感激不尽.我觉得Eclipse CDT是某种神秘的潘多拉盒子,每当我打开它时,由于明显缺乏直接的初学者教程,它会给我的编程世界带来混乱.提前感谢您提出的任何方向.
所以我的教授给了我一个用c ++编写的正则表达式.
所以我试着在eclipse中编写我的代码(我正在使用linux(ubuntu 12.04)).
所以我拿了代码:
// regex_search example
#include <iostream>
#include <string>
#include <regex>
int main ()
{
std::string s ("this subject has a submarine as a subsequence");
std::smatch m;
std::regex e ("\\b(sub)([^ ]*)"); // matches words beginning by "sub"
std::cout << "Target sequence: " << s << std::endl;
std::cout << "Regular expression: /\\b(sub)([^ ]*)/" << std::endl;
std::cout << "The following matches and submatches were found:" << std::endl;
while (std::regex_search (s,m,e)) {
for (auto x:m) std::cout << x << " …Run Code Online (Sandbox Code Playgroud) 我按照如何使用Eclipse配置C/C++项目和CMake文章将我用cmake生成的项目导入Eclipse CDT.除了调试时,一切都很顺利.
尝试调试时出现此错误
No source available for "main() at 0x5bca71"
Run Code Online (Sandbox Code Playgroud)
在gdb控制台窗口中,这是消息
The target endianness is set automatically (currently little endian)
No source file named /home/.../Desktop/GP/Test/src/Main.cpp.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Run Code Online (Sandbox Code Playgroud)
我在Linux Mint 15中使用Eclipse Kepler和cmake版本2.8.10.1
我正在尝试在Eclipse CDT Luna 4.4中使用C++ 11统一初始化,以便我可以更容易地发现缩小范围.我有两个问题.第一个是代码样式格式化程序正在将大括号初始化视为有时是一个代码块(例如#2).第二个是,没有赋值运算符的统一初始化给了我编译器错误和警告(例子#4).
我的项目设置为使用"ISO C++ 11(-std = c ++ 0x)"语言标准方言.使用gcc版本4.8.1(GCC).
以下是一些格式示例,每个示例包含代码前后:
示例#1 - 初始化 - 格式正常,没有编译器消息:
int x = {9};
int x = {9};
Run Code Online (Sandbox Code Playgroud)
示例#2 - 赋值 - 格式化程序的"大括号"选项卡上"块"的选项控制"if"语句样式,当"块"设置为"下一行"时,它还会影响以下分配行为.我希望继续使用'下一行'支撑样式(Allman)作为我的'if'语句,而不是将其设置为'Same line'(K&R),这也会停止在此处观察到的新行行为:
int x2;
x2 = {9};
int x2;
x2 =
{ 9};
Run Code Online (Sandbox Code Playgroud)
示例#3 - 没有赋值运算符的初始化 - 格式正常,没有编译器消息:
int y{9};
int y{9};
Run Code Online (Sandbox Code Playgroud)
例4 - 分配不赋值运算符 -格式正常,但是给出了一个expected ';' before '{' token错误,一个statement has no effect [-Wunused-value]编译器警告:
int y2;
y2{9};
int y2;
y2{9};
Run Code Online (Sandbox Code Playgroud)
似乎没有中间立场.使用统一初始化初始化在示例#1和#3中都可以正常工作,但是当在#2和#4中进行赋值时,前者具有格式错误,后者产生编译器消息.
我是C++新手,任何人都有任何建议或在我的逻辑中看到房间里的大象?我得到的印象是,统一初始化不应该用于赋值,因为我没有看到任何这样的例子,但让我感到困惑的是,即使在#2中赋值给出了格式错误,编译器也会 …
我在用
面向C / C ++开发人员的Eclipse IDE版本:2018-09(4.9.0)Build ID:20180917-1800
在Win 10下使用Portable Msys2,以及gcc 8.3.0。在CDT中启动调试配置时,我收到消息
Error in final launch sequence: Command '-file-exec-and-symbols myprog.exe' is timed out
Session is terminatedReason: Commnd '-gdb-exit' is timed out
注意:我仅在尝试调试一个项目时收到此错误。我为其他项目进行的所有其他调试配置都没有问题。我已经复制了这些有效的调试配置之一,并且仅将项目名称和可执行文件更改为有问题的配置,但是仍然出现错误。
我发现的一种可能的解决方案是(在这里和这里)将组件 C / C ++ GDB硬件调试(帮助 -> 关于Eclipse IDE- > 安装详细信息 -> C / C ++ GDB硬件调试)从9.4.0.201712051550降级到9.3.2.201709131603。我有版本9.5.3.201809121146 org.eclipse.cdt.debug.gdbjtag.feature.group Eclipse CDT。在我的情况下,也许将旧版本降级也是可行的。
在解决降级之前,我打算尝试另一种方法(在此处和此处):在项目的调试配置中,在“调试器”选项卡中,取消选中“重置和延迟(秒)”和“暂停”。(更多详细信息在这里)但是我在Debugger选项卡中找不到这些设置,并且在我的项目的Debug配置或GDB Hardware …