标签归档:Visual Studio

使用CMAKE构建应用程序

本文仅介绍如何使用CMAKE编译一个现有的程序(适用于非交叉编译)。

关于CMAKE

CMake是个一个开源的跨平台自动化建构系统,用来管理软件建置的程序,并不依赖于某特定编译器,并可支持多层目录、多个应用程序与多个库。 它用配置文件控制建构过程(build process)的方式和Unix的make相似,只是CMake的配置文件取名为CMakeLists.txt。CMake并不直接建构出最终的软件,而是产生标准的建构档(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是CMake和SCons等其他类似系统的区别之处。 CMake配置文件(CMakeLists.txt)可设置源代码或目标程序库的路径、产生适配器(wrapper)、还可以用任意的顺序建构可执行文件。CMake支持in-place建构(二进档和源代码在同一个目录树中)和out-of-place建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake也支持静态与动态程序库的建构。

https://zh.wikipedia.org/zh-cn/CMake
继续阅读使用CMAKE构建应用程序

解决Xilinx Vivado 2017.1 与 Visual Studio 2017的冲突

1. 冲突的现象

先安装Visual Studio 2017的情况

  1. Xilinx Vivado 2017.1 安装时VC++ 2015 Redistributable 无法安装。
  2. 安装Vivado是出现“Error when launching X:\Xilinx\Vivado\2017.1\bin\vlm.bat: Launcher Timeout” vlm.bat启动超时

先装Xilinx Vivado的情况
未试验的情况:Vivado无法启动,要求安装VC++ 2015运行时

2. 冲突原因

Visual Studio 2017 安装的 VC++ 运行时版本14.10.25008较Xilinx Vivado安装的运行时版本14.0.24210 新。
两个版本二进制兼容,新版本安装时会替换旧版本

3. 解决方法

解决方法有两种:

  1. 在安装Vivado时,在Install File 的进度条满后重命名以下文件(推荐)
    • X:\Xilinx\Vivado\2017.1\tps\win64\xvcredist.exe 为 xvcredist.old
    • X:\Xilinx\SDK\2017.1\tps\win64\xvcredist.exe 为xvcredist.old
  2. 设置系统环境变量XIL_PA_NO_REDIST_CHECK为1
    • 控制面板->系统和安全->系统->高级系统设置->环境变量->新建
    • 变量名:XIL_PA_NO_REDIST_CHECK,变量值1
    • 这个方法在可以在安装前设置

另外一种解决方法(不推荐,未试验):
直接修改安装文件X:\payload\rdi_0058_2017.1_0145.xz\xvcredist.exe