Integrated Development Environments / RAD tools / GUI-builders on Linux

该博客汇总了多种编程语言对应的开发IDE。涵盖了C、C++、Java、Python、Pascal等语言,介绍了如IBM's Eclipse、ActiveState's Komodo等IDE,还提醒部分IDE为二进制且仅支持x86 - Linux。

Warning: Some of the above are binary-only and x86-Linux-only.

http://linuxmafia.com/faq/Devtools/ides.html

cmd_tools/lib/rsa/rsa-sign.o := cc -Wp,-MD,tools/lib/rsa/.rsa-sign.o.d -O2 -DCONFIG_FIT_SIGNATURE -include /eap/3test/toolchain/mkimage/include/libfdt_env.h -I/eap/3test/toolchain/mkimage/include -I/eap/3test/toolchain/mkimage/lib/libfdt -I/eap/3test/toolchain/mkimage/tools -DCONFIG_SYS_TEXT_BASE=0 -DUSE_HOSTCC -D__KERNEL_STRICT_NAMES -D_GNU_SOURCE -c -o tools/lib/rsa/rsa-sign.o tools/lib/rsa/rsa-sign.c source_tools/lib/rsa/rsa-sign.o := tools/lib/rsa/rsa-sign.c deps_tools/lib/rsa/rsa-sign.o := \ /usr/include/stdc-predef.h \ /eap/3test/toolchain/mkimage/include/libfdt_env.h \ /eap/3test/toolchain/mkimage/include/compiler.h \ /usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h \ /usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h \ /usr/include/stdint.h \ /usr/include/x86_64-linux-gnu/bits/libc-header-start.h \ /usr/include/features.h \ /usr/include/x86_64-linux-gnu/sys/cdefs.h \ /usr/include/x86_64-linux-gnu/bits/wordsize.h \ /usr/include/x86_64-linux-gnu/bits/long-double.h \ /usr/include/x86_64-linux-gnu/gnu/stubs.h \ /usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ /usr/include/x86_64-linux-gnu/bits/types.h \ /usr/include/x86_64-linux-gnu/bits/timesize.h \ /usr/include/x86_64-linux-gnu/bits/typesizes.h \ /usr/include/x86_64-linux-gnu/bits/time64.h \ /usr/include/x86_64-linux-gnu/bits/wchar.h \ /usr/include/x86_64-linux-gnu/bits/stdint-intn.h \ /usr/include/x86_64-linux-gnu/bits/stdint-uintn.h \ /usr/include/errno.h \ /usr/include/x86_64-linux-gnu/bits/errno.h \ /usr/include/linux/errno.h \ /usr/include/x86_64-linux-gnu/asm/errno.h \ /eap/3test/toolchain/mkimage/include/asm-generic/errno.h \ /usr/include/x86_64-linux-gnu/bits/types/error_t.h \ /usr/include/stdlib.h \ /usr/include/x86_64-linux-gnu/bits/waitflags.h \ /usr/include/x86_64-linux-gnu/bits/waitstatus.h \ /usr/include/x86_64-linux-gnu/bits/floatn.h \ /usr/include/x86_64-linux-gnu/bits/floatn-common.h \ /usr/include/x86_64-linux-gnu/bits/types/locale_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__locale_t.h \ /usr/include/x86_64-linux-gnu/sys/types.h \ /usr/include/x86_64-linux-gnu/bits/types/clock_t.h \ /usr/include/x86_64-linux-gnu/bits/types/clockid_t.h \ /usr/include/x86_64-linux-gnu/bits/types/time_t.h \ /usr/include/x86_64-linux-gnu/bits/types/timer_t.h \ /usr/include/endian.h \ /usr/include/x86_64-linux-gnu/bits/endian.h \ /usr/include/x86_64-linux-gnu/bits/endianness.h \ /usr/include/x86_64-linux-gnu/bits/byteswap.h \ /usr/include/x86_64-linux-gnu/bits/uintn-identity.h \ /usr/include/x86_64-linux-gnu/sys/select.h \ /usr/include/x86_64-linux-gnu/bits/select.h \ /usr/include/x86_64-linux-gnu/bits/types/sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h \ /usr/include/x86_64-linux-gnu/bits/select2.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes.h \ /usr/include/x86_64-linux-gnu/bits/thread-shared-types.h \ /usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h \ /usr/include/x86_64-linux-gnu/bits/struct_mutex.h \ /usr/include/x86_64-linux-gnu/bits/struct_rwlock.h \ /usr/include/alloca.h \ /usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h \ /usr/include/x86_64-linux-gnu/bits/stdlib-float.h \ /usr/include/x86_64-linux-gnu/bits/stdlib.h \ /usr/include/stdio.h \ /usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h \ /usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h \ /usr/include/x86_64-linux-gnu/bits/types/__FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h \ /usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h \ /usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ /usr/include/x86_64-linux-gnu/bits/sys_errlist.h \ /usr/include/x86_64-linux-gnu/bits/stdio.h \ /usr/include/x86_64-linux-gnu/bits/stdio2.h \ /usr/include/string.h \ /usr/include/strings.h \ /usr/include/x86_64-linux-gnu/bits/strings_fortified.h \ /usr/include/x86_64-linux-gnu/bits/string_fortified.h \ /usr/include/x86_64-linux-gnu/sys/mman.h \ /usr/include/x86_64-linux-gnu/bits/mman.h \ /usr/include/x86_64-linux-gnu/bits/mman-map-flags-generic.h \ /usr/include/x86_64-linux-gnu/bits/mman-linux.h \ /usr/include/x86_64-linux-gnu/bits/mman-shared.h \ /usr/include/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/fcntl.h \ /usr/include/x86_64-linux-gnu/bits/fcntl-linux.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_iovec.h \ /usr/include/linux/falloc.h \ /usr/include/x86_64-linux-gnu/bits/stat.h \ /usr/include/x86_64-linux-gnu/bits/fcntl2.h \ /usr/include/byteswap.h \ /usr/include/time.h \ /usr/include/x86_64-linux-gnu/bits/time.h \ /usr/include/x86_64-linux-gnu/bits/timex.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_tm.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h \ /eap/3test/toolchain/mkimage/include/linux/types.h \ $(wildcard include/config/uid16.h) \ /eap/3test/toolchain/mkimage/include/linux/posix_types.h \ /eap/3test/toolchain/mkimage/include/linux/stddef.h \ /usr/include/x86_64-linux-gnu/asm/posix_types.h \ /usr/include/x86_64-linux-gnu/asm/posix_types_64.h \ /usr/include/asm-generic/posix_types.h \ /usr/include/x86_64-linux-gnu/asm/bitsperlong.h \ /usr/include/asm-generic/bitsperlong.h \ $(wildcard include/config/64bit.h) \ /usr/lib/gcc/x86_64-linux-gnu/9/include/stdbool.h \ /eap/3test/toolchain/mkimage/lib/rsa/rsa-sign.c \ /eap/3test/toolchain/mkimage/tools/mkimage.h \ /eap/3test/toolchain/mkimage/tools/os_support.h \ /eap/3test/toolchain/mkimage/include/compiler.h \ /usr/include/x86_64-linux-gnu/sys/stat.h \ /usr/include/x86_64-linux-gnu/bits/statx.h \ /eap/3test/toolchain/mkimage/include/linux/stat.h \ /eap/3test/toolchain/mkimage/include/linux/types.h \ /usr/include/x86_64-linux-gnu/bits/statx-generic.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx_timestamp.h \ /usr/include/x86_64-linux-gnu/bits/types/struct_statx.h \ /usr/include/unistd.h \ /usr/include/x86_64-linux-gnu/bits/posix_opt.h \ /usr/include/x86_64-linux-gnu/bits/environments.h \ /usr/include/x86_64-linux-gnu/bits/confname.h \ /usr/include/x86_64-linux-gnu/bits/getopt_posix.h \ /usr/include/x86_64-linux-gnu/bits/getopt_core.h \ /usr/include/x86_64-linux-gnu/bits/unistd.h \ /usr/include/x86_64-linux-gnu/bits/unistd_ext.h \ /eap/3test/toolchain/mkimage/include/u-boot/sha1.h \ /eap/3test/toolchain/mkimage/tools/fdt_host.h \ /eap/3test/toolchain/mkimage/tools/../include/libfdt.h \ /eap/3test/toolchain/mkimage/include/libfdt_env.h \ /eap/3test/toolchain/mkimage/include/fdt.h \ /eap/3test/toolchain/mkimage/tools/../include/fdt_support.h \ $(wildcard include/config/of/libfdt.h) \ $(wildcard include/config/has/fsl/dr/usb.h) \ $(wildcard include/config/has/fsl/mph/usb.h) \ $(wildcard include/config/sys/fsl/sec/compat.h) \ $(wildcard include/config/pci.h) \ /eap/3test/toolchain/mkimage/tools/imagetool.h \ /eap/3test/toolchain/mkimage/include/image.h \ $(wildcard include/config/fit.h) \ $(wildcard include/config/fit/verbose.h) \ $(wildcard include/config/spl/build.h) \ $(wildcard include/config/spl/crc32/support.h) \ $(wildcard include/config/spl/md5/support.h) \ $(wildcard include/config/spl/sha1/support.h) \ $(wildcard include/config/spl/sha256/support.h) \ $(wildcard include/config/crc32.h) \ $(wildcard include/config/md5.h) \ $(wildcard include/config/sha1.h) \ $(wildcard include/config/sha256.h) \ $(wildcard include/config/fit/disable/sha256.h) \ $(wildcard include/config/sys/boot/ramdisk/high.h) \ $(wildcard include/config/sys/boot/get/cmdline.h) \ $(wildcard include/config/of/board/setup.h) \ $(wildcard include/config/lmb.h) \ $(wildcard include/config/timestamp.h) \ $(wildcard include/config/cmd/date.h) \ $(wildcard include/config/image/format/legacy.h) \ $(wildcard include/config/sys/boot/get/kbd.h) \ $(wildcard include/config/fit/signature.h) \ $(wildcard include/config/fit/best/match.h) \ $(wildcard include/config/android/boot/image.h) \ /eap/3test/toolchain/mkimage/include/hash.h \ $(wildcard include/config/sha1sum/verify.h) \ $(wildcard include/config/crc32/verify.h) \ $(wildcard include/config/hash/verify.h) \ /eap/3test/toolchain/mkimage/include/libfdt.h \ /eap/3test/toolchain/mkimage/include/fdt_support.h \ /usr/include/openssl/evp.h \ /usr/include/x86_64-linux-gnu/openssl/opensslconf.h \ $(wildcard include/config/header/bn/h.h) \ $(wildcard include/config/header/rc4/locl/h.h) \ $(wildcard include/config/header/bf/locl/h.h) \ $(wildcard include/config/header/des/locl/h.h) \ /usr/include/openssl/ossl_typ.h \ /usr/include/openssl/e_os2.h \ /usr/include/openssl/symhacks.h \ /usr/include/openssl/bio.h \ /usr/include/openssl/crypto.h \ /usr/include/openssl/stack.h \ /usr/include/openssl/safestack.h \ /usr/include/openssl/opensslv.h \ /usr/include/openssl/objects.h \ /usr/include/openssl/obj_mac.h \ /usr/include/openssl/asn1.h \ /usr/include/openssl/bn.h \ /usr/lib/gcc/x86_64-linux-gnu/9/include/limits.h \ /usr/lib/gcc/x86_64-linux-gnu/9/include/syslimits.h \ /usr/include/limits.h \ /usr/include/x86_64-linux-gnu/bits/posix1_lim.h \ /usr/include/x86_64-linux-gnu/bits/local_lim.h \ /usr/include/linux/limits.h \ /usr/include/x86_64-linux-gnu/bits/posix2_lim.h \ /usr/include/x86_64-linux-gnu/bits/xopen_lim.h \ /usr/include/x86_64-linux-gnu/bits/uio_lim.h \ /eap/3test/toolchain/mkimage/include/u-boot/rsa-checksum.h \ /eap/3test/toolchain/mkimage/include/u-boot/sha256.h \ /usr/include/openssl/rsa.h \ /usr/include/openssl/pem.h \ /usr/include/openssl/x509.h \ /usr/include/openssl/buffer.h \ /usr/include/openssl/ec.h \ /usr/include/openssl/ecdsa.h \ /usr/include/openssl/ecdh.h \ /usr/include/openssl/dsa.h \ /usr/include/openssl/dh.h \ /usr/include/openssl/sha.h \ /usr/include/openssl/x509_vfy.h \ /usr/include/openssl/lhash.h \ /usr/include/openssl/pkcs7.h \ /usr/include/openssl/pem2.h \ /usr/include/openssl/err.h \ /usr/include/openssl/ssl.h \ /usr/include/openssl/comp.h \ /usr/include/openssl/hmac.h \ /usr/include/openssl/kssl.h \ /usr/include/openssl/ssl2.h \ /usr/include/openssl/ssl3.h \ /usr/include/openssl/tls1.h \ /usr/include/openssl/dtls1.h \ /usr/include/openssl/pqueue.h \ /usr/include/x86_64-linux-gnu/sys/time.h \ /usr/include/openssl/ssl23.h \ /usr/include/openssl/srtp.h \ tools/lib/rsa/rsa-sign.o: $(deps_tools/lib/rsa/rsa-sign.o) $(deps_tools/lib/rsa/rsa-sign.o):
09-17
<think> 我们注意到用户提供了详细的编译依赖文件列表(deps),这表明编译工具在构建rsa-sign.o时已经成功找到了openssl/rsa.h头文件(位于/usr/include/openssl/rsa.h)。这与之前编译eapcs模块时的错误形成对比。 ### 关键差异分析 1. **编译目标不同** - 当前日志是构建**主机工具**(`USE_HOSTCC`定义),使用**主机编译器**(如gcc) - 先前错误是交叉编译**目标架构程序**(eapcs模块) 2. **路径处理机制不同** - 主机工具编译直接使用系统路径(如`/usr/include`) - 交叉编译需要隔离路径(避免污染目标环境) ### 解决方案思路 ```mermaid graph LR A[当前问题] --> B{确定构建类型} B -->|主机工具| C[使用系统OpenSSL] B -->|目标程序| D[使用交叉编译OpenSSL] D --> E[配置--sysroot和-I参数] ``` #### 修复eapcs交叉编译步骤: 1. **确认交叉编译工具链的sysroot** 在Makefile中显式声明sysroot(示例): ```makefile # 添加工具链sysroot路径(根据实际调整) SYSROOT := $(TOOLCHAIN_DIR)/sysroot CFLAGS += --sysroot=$(SYSROOT) ``` 2. **安装目标架构的OpenSSL开发包** ```bash # 示例:在sysroot中安装OpenSSL cp -r /path/to/target-openssl/include/openssl $(SYSROOT)/usr/include/ cp /path/to/target-openssl/lib/libssl.* $(SYSROOT)/usr/lib/ ``` 3. **验证配置效果** ```bash # 使用交叉编译器检查头文件 echo '#include <openssl/rsa.h>' | aarch64-openwrt-linux-musl-gcc -E -xc - >/dev/null ``` ### 永久性架构隔离方案 ```bash # 在项目配置中严格分离主机和目标机环境 cat >> Makefile.smb_priv <<EOF ifeq (\$(CONFIG_CROSS_COMPILE),) # 主机工具配置 OPENSSL_INCLUDE = -I/usr/include else # 交叉编译配置 OPENSSL_INCLUDE = -I\$(SYSROOT)/usr/include endif CFLAGS += \$(OPENSSL_INCLUDE) EOF ``` §§相关问题§§ 1. 在同一个项目中如何同时管理主机工具和目标程序的编译路径? 2. 如何为交叉编译环境创建完整的第三方库开发包副本? 3. Makefile中如何自动检测并应用sysroot配置? 4. 当主机和目标机的OpenSSL版本不兼容时如何处理? 5. 如何验证交叉编译环境中的头文件和库文件架构匹配性? </think> ### 依赖分析与编译路径确认 您提供的日志展示了 **主机工具链编译**(使用 `gcc`)的详细依赖信息,关键点如下: 1. **成功包含 OpenSSL 头文件** - 最终依赖列表中明确显示:`/usr/include/openssl/rsa.h` - 证明主机工具链(`mkimage`)已正确配置 OpenSSL 路径 2. **编译环境特性** ```mermaid graph LR A[编译类型] --> B(主机工具编译) B --> C[使用原生gcc] C --> D[搜索标准路径 /usr/include] D --> E[成功找到openssl/rsa.h] ``` 3. **与之前错误的本质区别** | 编译目标 | 编译器 | OpenSSL 路径状态 | |----------------|----------------------------------|-----------------------| | **eapcs** | aarch64-openwrt-linux-musl-gcc | ❌ 未配置交叉编译路径 | | **mkimage工具**| x86_64-linux-gnu-gcc (主机gcc) | ✅ 自动搜索 /usr/include | ### 解决方案修正 #### 核心结论: **eapcs 模块的交叉编译缺少 OpenSSL 目标平台路径配置**,需严格区分两种编译环境: #### 修复步骤: 1. **隔离交叉编译路径** 在 `eapcs` 的 Makefile 中强制指定目标平台 OpenSSL 路径: ```makefile # 添加交叉编译专用路径(示例) SYSROOT := /eap/3test/staging_dir/target CFLAGS += --sysroot=$(SYSROOT) -I$(SYSROOT)/usr/include ``` 2. **验证目标平台 OpenSSL 安装** ```bash # 检查目标架构的 OpenSSL 头文件 find /eap/3test/staging_dir/target/usr/include -name rsa.h # 若无结果则需安装 make -C package/openssl install ``` 3. **编译测试命令** ```bash cd /eap/3test/smb_priv/apps/eapcs make clean make CFLAGS="--sysroot=/eap/3test/staging_dir/target -I/eap/3test/staging_dir/target/usr/include" ``` #### 环境隔离最佳实践: ```bash # 在顶层 Makefile 中区分编译类型 ifeq ($(CROSS_COMPILE),aarch64-openwrt-linux-musl-) CFLAGS += -I$(TARGET_SYSROOT)/usr/include # 目标平台路径 else CFLAGS += -I/usr/include # 主机工具路径 endif ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值