我无法构建我的项目。
我在 Eclipse Helios 中创建了一个新的 CDT 项目,并告诉它使用现有的源代码和 makefile —— 这两者都正确显示在 Package 和 Project 视图中。然而,“项目”菜单中的“构建全部”和“构建项目”均呈灰色,因此无法构建项目。未选中“自动构建”。在项目创建过程中,我告诉向导使用 Linux gcc(1) 工具链。我在“项目”->“属性”或“窗口”->“首选项”下找不到任何启用“构建项目”功能的内容。Window->Preferences->Build 显示仅显示一个标有“Error Parsers”的选项卡。
如何启用“构建项目”命令?
我在eclipse中导入了一个"现有代码作为makefile项目"项目.我想在eclipse中调试,比如我可以创建断点或者单步执行代码.如果我直接调试项目,eclipse说XXX.cpp没有源代码,所以我无法调试.
我应该如何在eclipse中更改makefile进行调试?
我正在使用Eclipse Indigo和Android/NDK混合项目.我添加了C++性质,几乎所有东西都在工作.自动构建工作; 也就是说,当我编辑文件时,调用ndk-build并成功完成 - 没有构建错误.鼠标悬停代码辅助工作(小窗口弹出有关该功能的信息).如果我将光标放在包含行并按F3,相关的头文件打开(根据我的配置而不是我期望的那个,但是相关的一个 - 可能是一个线索?).
如果我在.cpp文件中选择以下行,则会打开$ NDKROOT/platform/android-3/arch-arm/usr/include/ctype.h:
#include <ctype.h>
Run Code Online (Sandbox Code Playgroud)
(isdigit在此文件中定义)
但是,Eclipse坚持认为isdigit没有定义.我已经阅读了许多帖子,建议静态分析器或索引器都应该受到指责,但我已经尝试了许多建议的解决方案无济于事.
如果我添加如下所示的行,则错误消失,鼠标悬停代码帮助该功能工作:
extern int isdigit(int);
Run Code Online (Sandbox Code Playgroud)
同样,这不是链接器错误或编译器错误 - ndk-build完成且没有错误.这是日食里面的东西.谢谢参观!
编辑:我现在认为这是一个代码分析问题.更好的解决方案是编辑代码分析选项以使"无法解析功能"成为警告而不是错误.这样您可以在"问题"视图中看到警告,但继续工作.如果函数真的丢失了,编译器会告诉你!我还有一个新理论,问题在于符号链接后的代码分析器,因为所有"缺失"函数都在符号链接的包含文件中.会喜欢这个理论的任何意见.
eclipse java-native-interface android eclipse-cdt android-ndk
我最近开始在Fedora Linux上使用Eclipse Juno(4.2).在以前版本的eclipse中,我只需单击并将源文件名拖动到屏幕边缘,然后用鼠标分割我的窗口.现在,当我单击+拖动Eclipse时会显示一些绿色轮廓,我无法弄清楚如何在不按键盘输入的情况下接受更改.有谁知道它是否有可能带回鼠标可以做任何事情的先前行为?谢谢!
编辑:听起来Eclipse中可能存在错误,至少在使用Fedora 17 64位时是这样.
我想在Eclipse CDT 64位工作,我已经在我的机器上安装了它.但在那之后我才知道它需要MinGW才能工作.但我没有找到任何网站,我可以知道如何设置MinGW64位.任何指针都对我很有帮助.
嗨,我目前正在 eclipse 中开发一个 C 应用程序,现在我需要编译一个使用 C++ 的库。有没有办法将 .cpp 处理(MinGW C++ 编译器)添加到 Eclipse CDT 中的现有 C 项目?
我试图在我的 Eclipse CDT 项目中找到某些文本(错误号——它位于注释中)。结果不会显示包含路径中头文件的任何内容,尽管某些头文件包含该文本。
但是,C/C++ 搜索也会在包含路径中找到头文件中的所有符号。不幸的是,我无法从 C/C++ 搜索选项卡进行简单的文本搜索。我知道它用于搜索 C/C++ 术语。
Eclipse CDT 似乎甚至不会索引位于包含路径中的头文件中的普通文本。这是真的?如何让 Eclipse 为包含路径中的普通文本编制索引?
有没有办法在Eclipse CDT Luna中禁用此功能?
https://wiki.eclipse.org/CDT/User/NewIn85#Header_File_Rename
我不希望我的#include语句被相对路径替换,因为这违反了我的公司代码风格.
示例:在移动头文件之前:
#include <File.h>
Run Code Online (Sandbox Code Playgroud)
后:
#include "../dir1/File.h"
Run Code Online (Sandbox Code Playgroud)
是否有一些设置会禁用此重构?
在我的main.c程序中,我包含了这个库:
#include "coap_api.h"
Run Code Online (Sandbox Code Playgroud)
这也包括在内
Properties -> C/C++ Build -> Settings -> Cross ARM GNU Assembler -> Includes
和
Properties -> C/C++ Build -> Settings -> Cross ARM C Compiler -> Includes
构建项目我收到此错误:
./src/main.o: In function `main':
/Users/joanet/Development/Embedded/eclipseWS/EHAL-master/ARM/Nordic/nRF51/ipv6_coap_server/Release/../src/main.c:708: undefined reference to `coap_init'
Run Code Online (Sandbox Code Playgroud)
我在另一篇文章中读到我必须链接库(http://whatwouldnickdo.com/wordpress/328/eclipse-cdt-and-linux-libraries/)
我试图添加名称的库,coap_api但我不工作
lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld: cannot find -lcoap_api
Run Code Online (Sandbox Code Playgroud)
在编译中包含coap目录:
arm-none-eabi-gcc -mcpu=cortex-m0 -mthumb -Os -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -Wall -g -DBLE_STACK_SUPPORT_REQD -DNRF51 -D__CORTEX_M0 -DBOARD_PCA10028 -DSOFTDEVICE_PRESENT -DS110 -I/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/ipv6_coap_server/bsp -I/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/iot/ipv6_stack/pbuffer -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/libraries/util/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/drivers_nrf/hal/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/../../../ARM/CMSIS/CMSIS/Include/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/../../../ARM/Nordic/nRF51/CMSIS/include/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/softdevice/s110/headers/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/common/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/ble_services/ble_bas/" -I"/Users/nullpointer/Development/Embedded/eclipseWS/EHAL-master-Hoan/ARM/Nordic/nRF51/nrf51_sdk/components/ble/ble_services/ble_dis/" …Run Code Online (Sandbox Code Playgroud) 我尝试*.a在 CDT 中为我的 c++ 项目引用一个静态库。我把它包括在
C/C++ 构建 -> 交叉 C++ 链接器 -> 库
但我收到错误:
重定位 R_X86_64_32S 针对符号 ... 不能在创建共享对象时使用。
现在从我到目前为止所读到的内容,我认为这意味着编译器认为我正在引用一个共享库,而当它是一个静态库时 - 是这样吗?如果是这样,现在可以做什么?有什么方法可以只使用这些*.a库,还是必须将它们重新编译为.so- 对象?
eclipse-cdt ×10
eclipse ×6
c++ ×5
c ×4
android ×1
android-ndk ×1
eclipse-luna ×1
embedded ×1
linux ×1
mingw-w64 ×1
toolchain ×1
windows-7 ×1