草庐IT

vs-cmake-examples

全部标签

linux - Unix vs BSD vs TCP vs Internet 套接字?

我正在阅读Linux编程接口(interface),它描述了Linux上使用的几种不同类型的套接字:Unix域伯克利TCP互联网书中提到的一件事是,如果您想在远程主机之间进行通信,则不能使用Unix域套接字,因为它们用于同一主机上的IPC。您必须使用“Internet”套接字。但是,我仍然有点困惑这与“TCP”套接字、Berkeley套接字和其他2个套接字有什么关系?他们是什么关系?为什么要有Internet套接字和TCP套接字?简而言之,我试图了解所有(我是否遗漏了什么?)各种不同类型的Unix套接字以及在什么情况下我会使用它们? 最佳答案

linux - 使用 CMake 在 Windows 下针对 Linux 进行跨平台构建

我正在32位Windows(使用MSVC++)上用C++开发一个软件,但由于我希望能够在每个平台上使用我的软件,我决定使用CMake作为我的构建生成器。因此,我仍然只是CMake的初学者。从CMake教程中,我了解到为了交叉编译代码,首先应该在主机平台上安装一个模拟目标平台的工具链。然后使用此工具链提供的适当目标平台C和C++编译器,CMake将能够生成makefile等。现在,我想在Win32平台上为Linux平台(GNU/Linux)构建我的代码。我尝试使用CMake结合Cygwin并使用gcc和g++作为编译器来执行上述过程。它构建良好,创建了makefile,当我在Cygwin

linux - 使用 CMake 在 Windows 下针对 Linux 进行跨平台构建

我正在32位Windows(使用MSVC++)上用C++开发一个软件,但由于我希望能够在每个平台上使用我的软件,我决定使用CMake作为我的构建生成器。因此,我仍然只是CMake的初学者。从CMake教程中,我了解到为了交叉编译代码,首先应该在主机平台上安装一个模拟目标平台的工具链。然后使用此工具链提供的适当目标平台C和C++编译器,CMake将能够生成makefile等。现在,我想在Win32平台上为Linux平台(GNU/Linux)构建我的代码。我尝试使用CMake结合Cygwin并使用gcc和g++作为编译器来执行上述过程。它构建良好,创建了makefile,当我在Cygwin

c - 如何使用 CMake post_build 执行 shell 脚本?

如何使用CMake执行shell脚本?应该运行的命令是my_script,应该在构建后执行。CMakeLists.txtcmake_minimum_required(VERSION3.0)project(abc)include_directories("/usr/lib/avr/include")set(CMAKE_CURRENT_SOURCE_DIR/home/user/Desktop)set(CMAKE_C_FLAGS"${CMAKE_C_FLAGS}-mmcu=atmega8")set(SOURCE_FILESmain.c)add_executable(abc${SOURCE_F

c - 如何使用 CMake post_build 执行 shell 脚本?

如何使用CMake执行shell脚本?应该运行的命令是my_script,应该在构建后执行。CMakeLists.txtcmake_minimum_required(VERSION3.0)project(abc)include_directories("/usr/lib/avr/include")set(CMAKE_CURRENT_SOURCE_DIR/home/user/Desktop)set(CMAKE_C_FLAGS"${CMAKE_C_FLAGS}-mmcu=atmega8")set(SOURCE_FILESmain.c)add_executable(abc${SOURCE_F

linux - crontab -e vs/etc/crontab 中的 cronjob 条目。哪一个更好?

当我将crontab条目放入crontab-e(默认位置为:/var/spool/cron/username)和/etc/crontab时有什么区别?我的意思是crond守护进程基本上会执行两个cron作业。那为什么有两种不同的方式来安排cronjob呢?哪个比另一个更受欢迎? 最佳答案 不同的是,crontab命令是系统提供给用户操作自己的crontabs的接口(interface)。/etc/crontab文件是用于实现系统范围crontab的特例文件。/var/spool/cron/crontabs/$USER(或任何路径)是

linux - crontab -e vs/etc/crontab 中的 cronjob 条目。哪一个更好?

当我将crontab条目放入crontab-e(默认位置为:/var/spool/cron/username)和/etc/crontab时有什么区别?我的意思是crond守护进程基本上会执行两个cron作业。那为什么有两种不同的方式来安排cronjob呢?哪个比另一个更受欢迎? 最佳答案 不同的是,crontab命令是系统提供给用户操作自己的crontabs的接口(interface)。/etc/crontab文件是用于实现系统范围crontab的特例文件。/var/spool/cron/crontabs/$USER(或任何路径)是

linux - 在 Cmake 中检测底层平台/ flavor

有人知道任何cmake变量或钩子(Hook)或可以给我执行它的底层平台名称/风格名称的东西吗?例如Linux-CentOsLinux-UbuntuLinux-SLES我知道cmake有“CMAKE_SYSTEM”变量,但这无助于区分linux的风格,例如感谢您的帮助。编辑:我刚刚读到它可以使用lsb_release命令来完成? 最佳答案 以下代码片段使用有关底层Linux系统的信息填充LSB_RELEASE_ID_SHORTcmake变量:find_program(LSB_RELEASE_EXEClsb_release)execut

linux - 在 Cmake 中检测底层平台/ flavor

有人知道任何cmake变量或钩子(Hook)或可以给我执行它的底层平台名称/风格名称的东西吗?例如Linux-CentOsLinux-UbuntuLinux-SLES我知道cmake有“CMAKE_SYSTEM”变量,但这无助于区分linux的风格,例如感谢您的帮助。编辑:我刚刚读到它可以使用lsb_release命令来完成? 最佳答案 以下代码片段使用有关底层Linux系统的信息填充LSB_RELEASE_ID_SHORTcmake变量:find_program(LSB_RELEASE_EXEClsb_release)execut

c++ - 使用 CMake 生成可重新分发的项目

我正在寻找使用CMake作为项目配置系统和gcc-4.8/VS2012以及额外的第三方库(如Qt5)为Windows和Linux生成可再发行项目。我如何创建一个包含所有需要的依赖项的包并使项目在其他机器上运行,而不在这些机器上安装所需的包(即Qt5安装程序)?编辑Google大量我发现Qt5需要一些文件并且我发现了这个讨论ApplicationdeployedwithQT5librariesdoesnotstartonWindows7其中解释了所需的Qt5依赖项。 最佳答案 通常,我会使用install列出所需的文件和CPack用于