标签: toolchain

尝试在Raspberry Pi上运行交叉编译的Qt时的"非法指令"(Windows)

我已经在这里找到并阅读了这个问题,也在这里这里提出问题,不幸的是它仍然没有得到解决.(虽然我使用了该线程中的所有提示尽可能多地提供信息)


有什么问题

有几天我一直试图找到一种能够交叉编译Qt的方法,因为我最近有一个,现在想学习如何编写一些基本的嵌入式应用程序.

我在这里关注教程: http ://visualgdb.com/tutorials/raspberry/qt/embedded/

  • 我使用了一个干净的系统,我唯一需要安装的是一些依赖:( apt-get install libudev-dev libinput-dev libts-dev libxcb*第一次运行它,configure说是缺少libs)
  • 得到了Raspbian形象和工具链,从这里分别2015-11-21-raspbian-jessieraspberry-gcc-4.9.2-r2.exe
  • Qt源也来自上面教程中的链接(qt-everywhere-opensource-src-5.5.0.tar.xz)
  • 我使用相同的文件路径等,所以所有命令都应该没问题,包括配置: ../qt-everywhere-opensource-src-5.5.0/configure -platform win32-g++ -xplatform linux-arm-gnueabi-g++ -release -opengl es2 -device linux-rasp-pi2-g++ -sysroot C:/SysGCC/Raspberry/arm-linux-gnueabihf/sysroot -prefix /usr/local/qt5 -device-option CROSS_COMPILE=C:/SysGCC/Raspberry/bin/arm-linux-gnueabihf- -qt-xcb

几个小时后,一切都建好了,大概没有错误.(我的输出与教程中的屏幕截图相同)

但是,尝试运行任何构建的示例,只会产生一行: Illegal instruction


我还能提供什么......

c++ qt cross-compiling toolchain raspberry-pi

6
推荐指数
1
解决办法
2030
查看次数

VS2017的x64和ARM开发人员提示在哪里?

我安装了Visual Studio 2017 Build Tools.安装后,在导航开始→程序→Visual Studio 2017→Visual Studio工具时,只有一个x86开发人员命令提示符.没有x64和ARM的提示.(通常有大约6个开发人员提示可供选择).

x64和ARM的构建工具位于何处?


更新(JAN-18-2017)

安装整个Windows 10 SDK,根据@ magicandre1981指令构建15003后,我找不到Developer Prompts.我在"开始"菜单中找不到它们; 并放入Git Bash shell并搜索它们返回0结果.

在下面的名称中,vsdevcmd.bat是VC++ Build Tools for 2017 vcbuildtools.bat安装的内容.是VC++ Build Tools for 2015安装的内容.

MINGW64 /c/Program Files (x86)/Windows Kits/10
$ find . -iname 'vsdevcmd.*'

$ find . -iname 'vcbuildtools.*'

$ find . -iname '*.bat'

$ find . -iname '*.cmd'
./bin/10.0.15003.0/arm/SecureBoot/DeleteKitsPolicy.cmd
./bin/10.0.15003.0/arm/SecureBoot/InstallKitsPolicy.cmd
./bin/10.0.15003.0/arm64/install-sampleprovider.cmd
./bin/10.0.15003.0/arm64/uninstall-sampleprovider.cmd
./bin/10.0.15003.0/x64/install-sampleprovider.cmd
./bin/10.0.15003.0/x64/uninstall-sampleprovider.cmd
./bin/10.0.15003.0/x86/DismFoDInstall.cmd
./bin/10.0.15003.0/x86/GenerateUnionWinMD.cmd
./bin/10.0.15003.0/x86/install-sampleprovider.cmd
./bin/10.0.15003.0/x86/uninstall-sampleprovider.cmd
./bin/arm/SecureBoot/DeleteKitsPolicy.cmd
./bin/arm/SecureBoot/InstallKitsPolicy.cmd
./bin/arm64/install-sampleprovider.cmd
./bin/arm64/uninstall-sampleprovider.cmd
./bin/x64/install-sampleprovider.cmd
./bin/x64/uninstall-sampleprovider.cmd
./bin/x86/DismFoDInstall.cmd
./bin/x86/GenerateUnionWinMD.cmd
./bin/x86/install-sampleprovider.cmd
./bin/x86/uninstall-sampleprovider.cmd
./Debuggers/x64/srcsrv/cv2http.cmd
./Debuggers/x64/srcsrv/cvsindex.cmd …
Run Code Online (Sandbox Code Playgroud)

toolchain visual-studio windows-8.1

6
推荐指数
2
解决办法
7287
查看次数

便携式 Visual Studio 构建工具包和 cmake

我正在尝试创建一个 CMakeLists.txt,它可以为该项目生成 VS 解决方案,并使用便携式 Visual Studio 工具包中的构建工具对其进行编译。不幸的是,每次我尝试运行 cmake 时仍然检测到已安装的 MSVC 编译器。

CMakeLists.txt:

cmake_minimum_required(VERSION 3.10)

project(app C)

add_executable(app main.c)
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

  1. 设置CC环境变量并设置便携式VS所需的变量。我也尝试逃离vcvarsall.bat这个套件。

例子:

SET CC=path/vs/build/tools/cl.exe
SET CMAKE_LINKER=path/vs/build/tools/link.exe
SET CMAKE_RC_COMPILER=path/vs/build/tools/rc.exe
SET PATH=path/vs/build/tools/;%PATH%
SET INCLUDES=path/vs/build/tools/includes
SET LIBPATH=path/vs/build/tools/libs
...
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行:

  • cmake.exe -Bbuild .
  • cmake.exe -Bbuild -G "Visual Studio 16" .

    1. 创建了一个工具链文件(vs.cmake),我在其中显式设置 CMAKE_C_COMPIER 并设置可移植 VS 的包含和 lib 路径。
SET(CMAKE_C_COMPILER    "path/vs/build/tools/cl.exe")
SET(CMAKE_LINKER        "path/vs/build/tools/link.exe")
SET(CMAKE_RC_COMPILER   "path/vs/build/tools/rc.exe")
...
Run Code Online (Sandbox Code Playgroud)

然后我尝试运行:

  • cmake.exe -Bbuild -DCMAKE_TOOLCHAIN_FILE=vs.cmake .
  • cmake.exe -Bbuild -DCMAKE_TOOLCHAIN_FILE=vs.cmake -G "Visual Studio 16" .

在这两种情况下,它都无法将 CMAKE_C_COMPILER 设置为可移植 VS,但仍然检测已安装的 MSVC 编译器。仅更改了链接器和 …

c cmake build-tools toolchain visual-studio

6
推荐指数
0
解决办法
1358
查看次数

CMake 工具链包含多个文件

由于无关紧要的原因,我希望能够将多个文件包含到工具链文件中。假设我的工具链包含以下内容:

消息(状态“文件 1 没问题”)
包括(./build/file2)

file2 包含标识行:

消息(状态“文件 2 正常”)

CMakeLists.txt 包含:

cmake_minimum_required(版本 2.8.8)
项目(亲)
消息(状态“cmakelists.txt 没问题”)

我使用以下命令调用它:

cmake -DCMAKE_TOOLCHAIN_FILE=../../build/file1 ../../

现在,我希望得到以下输出:

-- 文件 1 没问题
--file2 没问题
-- cmakelists.txt 没问题

然而我明白了:

-- 文件 1 没问题
--file2 没问题
-- 文件 1 没问题
--file2 没问题
-- C 编译器标识为 Clang 5.0.0
-- CXX 编译器标识为 Clang 5.0.0
-- 检查工作的 C 编译器:/usr/bin/cc
/fullpath/build/file1:2 处的 CMake 错误(包括):
  包含找不到加载文件:
    ./build/file2
调用堆栈(最近调用优先):
  /fullpath/build/Mac/CMakeFiles/2.8.12/CMakeSystem.cmake:6(包括)
  CMakeLists.txt:2(项目)
CMake 错误:内部 CMake 错误,TryCompile 配置 cmake 失败
-- 检查工作的 C 编译器:/usr/bin/cc -- 损坏 …

cmake toolchain

5
推荐指数
1
解决办法
3365
查看次数

如何将 Visual Studio 2015 调试器附加到 Android 应用程序

我已经有一个工具链来跨平台构建我的 C++ 应用程序,但是调试起来很麻烦。将 Visual Studio 附加到设备上正在运行的应用程序会很好。无论如何,是否可以将 Visual Studio 2015 的调试器附加到正在运行的应用程序,例如 Windows 进程?

亲切的,马丁

debugging android toolchain visual-studio-2015

5
推荐指数
1
解决办法
3674
查看次数

从npm安装全球的东西是不好的做法?

我是新来的,所以也许我没有得到什么.我知道npm可以npm_modules在项目本地的目录中安装模块,或者使用--global它可以在机器范围的位置安装它.

除了一些临时的便利,为什么你会在全球安装任何包?例如,我看到各种npm配置/设置执行全局安装的打字稿.但是如果我的机器上有5个项目,其中3个使用不同版本的打字稿,那就不好了......对吧?

我对包管理的经验来自Java/Maven世界,其中所有模块都安装在全局位置(〜/ .m2/repository),但要引用ANYTHING(作为cmd/tool/plugin或作为依赖项),您需要指定版本号.因此,您可以获得两全其美的效果 - 消除重复的软件包安装和完全可重复的构建.我本以为npm会以自己的方式完成同样的事情.

我错过了什么?

toolchain npm npm-install

5
推荐指数
3
解决办法
829
查看次数

Eclipse 中用于 C++ 的 Visual Studio 工具链

我为 Java 安装了 Eclipse Neon.2,但是,我正在处理一个涉及 JNI 的项目,所以我不得不为 C++ 设置 Eclipse。要做到这一点,我下载了Development Tools for C++Help -> Install New Software。我的问题是没有toolchains可用于我的 C++ 项目。

一些网站和 YouTube 视频表明有一个 Microsoft Visual C++ 工具链可用,例如这个SO 问题和这个视频,但我没有成功。

是否有我可能错过的设置阶段或插件导致它未列出?

设置
Windows 10
Eclipse Neon.2
Microsoft Visual Studio Enterprise 2017 RC

c++ eclipse eclipse-plugin toolchain

5
推荐指数
2
解决办法
4634
查看次数

什么是编译器工具链?

在最新的CS:GO更新中,一位 Valve 开发者在Reddit 帖子上评论了这一点:

我们正在升级用于构建 CS:GO 的编译器工具链。这个预发布分支使用新工具链构建了 CS:GO。我们将其作为预发布分支发布,以便在下次更新中使用之前进行测试。

尽管新的编译器工具链可能会带来小幅性能提升,但预计不会出现功能变化。

谁能解释一下编译器工具链是什么?

toolchain

5
推荐指数
1
解决办法
8710
查看次数

在没有 mpc、mpfr 和 gmp 的情况下构建 GCC

我需要使用较小版本的软件包来构建我的工具链。有没有办法通过禁用 mpc、mpfr 和 gmp 包来构建 gcc?

gcc gnu-toolchain toolchain linux-toolchain

5
推荐指数
1
解决办法
912
查看次数

为什么工具链中的 swift 5.7 找不到 Regex?

我相信我正在从命令行运行 Swift 5.7,并且 Swift 5.7 应该具有新的 Regex 类和 /.../ 语法。但似乎并非如此。

我有以下 Swift 源代码“parse.swift”。但 Swift 似乎不理解 Swift 5.7 /.../ 语法来指示 Regex (生成的错误不应该用于合法的 regex 模式),所以我尝试了一种不同的方法,发现它无法识别新的 Regex 类本身。

let pattern = #"^ ,([A-Z][A-Z])([0-9][0-9]),(.*?),(.*?) "#
let regex = try! Regex(pattern)
Run Code Online (Sandbox Code Playgroud)

$ swift parse.swift < somefile

parse.swift:3:18:错误:在范围内找不到“Regex”
让正则表达式 = 尝试!正则表达式(模式)
                 ^~~~~

有什么我需要导入或做不同的事情吗?

这是它说我正在运行的版本:

$ swift --version

Apple Swift 版本 5.7-dev(LLVM eecf02df5133efe、Swift ad06e7d7251311a)
目标:arm64-apple-macosx12.0

我通过从 ~/.zshrc 导出以下内容来选择 5.7 版本的 Swift

export TOOLCHAINS=org.swift.57202206261a
export TOOLCHAIN_DIR=/Library/Developer/Toolchains/swift-5.7-DEVELOPMENT-SNAPSHOT-2022-06-26-a.xctoolchain
Run Code Online (Sandbox Code Playgroud)

regex toolchain swift-compiler swift5.7

5
推荐指数
0
解决办法
271
查看次数