问题标签 [toolchain]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
7312 浏览

embedded - ARM Cortex M3 初学者需要的建议

我将很快通过官方培训(CPU 方面)踏上 ARM Cortex M3 的潮流。

现在,我之前做过一些 Arduino 和 AVR,并且有一些电子基础知识,但我主要是一名软件开发人员。我已经阅读了这里的大多数主题以及其他关于可用工具的相当多的主题,它们真的很有帮助。我需要的是将所有这些答案元素连接在一起。

我想为自己配备一个足够通用的入门套件,让我继续前进,并且至少可以让我尝试不同的硬件/软件组合(步进器、CAN-Bus、SPI 等)。我正在查看以下列表(请随时添加更多项目!):

  • 皮质 M3 芯片
  • 评估板
  • 工具链
  • JTAG 工具

对于芯片,我希望高端型号之一能够尝试一切。NXP LPC1768 似乎是一个不错的选择,但也需要考虑 STM 和 Stellaris。

目前该板的有趣候选者是 Keil MCP1760、STM3210E-EVAL,但我担心供应商锁定,因为我希望能够在单个板上尝试各种工具链。mBed 非常有吸引力,但由于它是在线编译器,所以不适合(除非也可以使用常规编译器)

对于 Toolchain,我对 IAR,Rowley Associates 有一种“感觉”。与开源相比,我更喜欢易于使用/做得很好,最好是可以在多个目标上使用的工具。

我真的需要 JTAG 单元吗?如果它看起来像一个“标准行业工具”,我至少想获得一些经验。这似乎是供应商锁定的另一个来源。我是使用我自己熟悉的外部设备还是只使用评估板上的设备更好?

基本上,在为上述类别选择获胜组合时,我需要帮助。是否有可能,或者我是否天真,应该考虑节省成本,因为我最终会购买一个?

谢谢你。

结果:我订购的:

我终于买了 Joseph Yiu 的“The Definitive Guide to the ARM Cortex-M3 (Embedded Technology)”,找到了一些针对 CortexM3 平台的培训(即将推出)并购买了 STMicro 套件:STM3210C-Eval,它内置了一堆传感器并且不是供应商锁定到特定的软件环境。我还购买了一些带有板载 JTAG 的 STm32vl-Discovery 板(来自 digikey 的 13 美元!)。我现在正在玩 Keil 的 uVision IDE 的评估版 (32K),我可以说我真的印象深刻!我能够在一天内重新构建 Discovery 的固件,将其加载回来,并使用调试器逐步完成它!

谢谢大家!

0 投票
3 回答
187 浏览

iphone - 工具链问题:如何添加头文件/库以便编译器知道在哪里找到它?

我使用此脚本制作了一个工具链:http: //gist.github.com/403608(或多或少修改以使其工作)

一切都已安装,现在当我尝试使用它进行编译时,当我 ./configure 时出现错误,它说我的 C 编译器无法创建可执行文件。我在想我的编译器只是不知道在哪里寻找所有的头文件和库......因为它们不在 /usr/ 他们在 /var/sdk/usr/

有没有办法告诉我的编译器也总是查看 /var/sdk/usr/ ?

0 投票
1 回答
2511 浏览

visual-c++ - MSVC 混合调试代码和发布代码

问题的动机:生成 64 位和 32 位代码需要两个单独的完整程序编译,并且在使用 Visual Studio(如下详述)时,发布和调试版本不兼容,因此似乎需要另外两个完整程序编译(使总数达到四个)。我想坚持使用两个完整的程序编译,但我很困惑。

调试时我只关心:全局状态、堆栈帧以及导致崩溃的代码的行号/文件。另外,我不关心来自同行评审的高度稳定的开源库的调试信息;因此,我不需要这些库的调试信息,并且该库的发布版本应该足够了。

证据:我知道,在 VS 中,如果您编译应用程序的调试版本并将其与 Google Protocol Buffers 的发布版本链接,则生成的代码将由于混合发布/调试类型的副作用而失败。

我想知道这是否是使用 Visual Studio 的副作用,并且某些编译器开关可以做到这一点。

其次检查开源项目的构建脚本/过程,似乎可以将调试模式生成的代码与发布生成的代码混合(例如mumble)。我想这与 release 和 ReleaseWithDebugInfo (从 cmake 借用的术语,但这显然可以在 Visual Studio 中表达)之间的区别有关。ReleaseWithDebugInfo 毕竟是二进制的优化版本,还生成了调试信息,因此适合发布。

问题:

  1. 有人可以解释或提供参考,什么开关使代码不兼容。
  2. Visual Studio 中的 ReleaseWithDebugInfo 编译风格是否足以用于调试和发布用例(根据我的标准,如上所述)?--ie,编译器在调试模式下生成的东西是矫枉过正还是多余?
  3. 在 ReleaseWithDebugInfo 模式下(对于我的应用程序)我可以在发布模式下编译外部依赖项(没有调试信息)并且没有任何未定义的行为吗?
0 投票
2 回答
5629 浏览

c++ - 如何更改 eclipse cdt mingw32 中的内置工具链

我正在使用 cdt/mingw 在 Windows 上进行编译。我喜欢免费编译警告。我收到以下警告:

以下页面建议处理它的方法是将该选项添加到 ld 的命令行。

4.8 ld 和 WIN32 (cygwin/mingw)

因此,问题是,如何更改内置工具链的默认命令行开关?

我还想设置 gcc 的警告级别。

0 投票
3 回答
11943 浏览

android - Android-NDK构建系统(构建hello-gl2)

我使用这个包在我的 Archlinux 上下载并安装了 Android-NDK 。

按照此页面hello-jni上的指南构建(和运行)示例没有问题,但如果我尝试这样做,我会遇到一些错误;看起来它找不到一些头文件:hello-gl2

GLES2/gl2.h并且GLES2/gl2ext.h存在于 中$(NDK)/platforms/android-4/arch-arm/usr/include/,并且看起来$(NDK)/build/core/setup-toolchain.mk应该设置这样的包含路径。

有没有人遇到过同样的问题?如何编译此示例?
然后,还有其他方法可以轻松构建 Android-NDK 应用程序吗?这个构建系统对我来说似乎很复杂,我更喜欢使用 cmake 来构建我的应用程序。

0 投票
1 回答
472 浏览

visual-c++ - NetBeans 的 Microsoft Visual C++ 工具链

有没有人为 MS VC++ 编译器编写过 netbeans 的工具链?遵循此错误报告

我读到这应该是可能的,因为版本 6.7。

我提前感谢大家。

0 投票
1 回答
742 浏览

iphone - iPhone 工具链问题

我根据http://www.saurik.com/id/4上的说明在 Ubuntu 上构建了一个 iPhone 工具链。当我尝试编译一些简单的东西时:

它给了我这个:

iPhone SDK 和http://code.google.com/p/iphone-dev/wiki/Building的 crt1.o 都会发生这种情况。使用 -save-temps,我发现cc1 命令没有产生任何输出。这是为什么?我的规格文件有问题吗?

0 投票
2 回答
40310 浏览

c - 如何交叉编译 MIPS?

我有一个类似于Dreambox的 DVB 接收器(机顶盒) ,它有 MIPS cpu

它有嵌入式 Linux,我可以用telnet连接到它

问题是如何用C编译简单的“ Hello World ”应用程序?从哪里获得工具链SDK

0 投票
1 回答
2213 浏览

gcc - 如何在 Fedora 上为其他 Linux 发行版构建交叉编译器工具链?

我的 Linux:Fedora 14 x64 我的 gcc:4.5.1 我的 Glibc:2.12.90

目标 Linux:“Ubuntu 8.04.4 LTS”hardy 目标内核:2.6.24-29-server x64 目标 gcc:4.2.4 目标 Glibc:2.7

我需要 gcc/g++ 和 fortran。

我在 Google 上搜索过,我发现的大多数文档都有些过时并且针对 ARM,而不是针对其他 Linux。

任何分步文档将不胜感激。

谢谢。

0 投票
1 回答
660 浏览

compilation - 使用跨工具链在 Linux 上构建软件

摩托罗拉提供了一个交叉编译工具链,用于为其机顶盒 VIP1710 构建软件。你必须把它解压到/usr/local/kreatel那里,你有一个构建工具树:

现在我如何configure使用我的交叉编译工具而不是我系统的 gcc 来制作这些脚本?