小编fot*_*sky的帖子

OS X下的CMake警告:未为以下目标指定MACOSX_RPATH

我尝试在OS X(Yosemite)下构建一个基于CMake的软件,它可以在Fedora 21下成功构建.它使用了一堆库.两者都是像Boost这样的大型开放式文件,以及一些位于/ installation_folder/lib中的自编文件.我使用CMake版本3.3.0.

执行后

mkdir build
cd build
cmake .. -DCMAKE_C_COMPILER=/usr/local/Cellar/gcc/5.2.0/bin/gcc-5 -DCMAKE_CXX_COMPILER=/usr/local/Cellar/gcc/5.2.0/bin/g++-5  -DCMAKE_MODULE_PATH=${PWD}/../external/install/share/llvm/cmake 
Run Code Online (Sandbox Code Playgroud)

我收到以下警告:

CMake Warning (dev):
Policy CMP0042 is not set: MACOSX_RPATH is enabled by default.  Run "cmake
--help-policy CMP0042" for policy details.  Use the cmake_policy command to
set the policy and suppress this warning.

MACOSX_RPATH is not specified for the following targets:

ClangWrapper
Structure
WCETXML

This warning is for project developers.  Use -Wno-dev to suppress it.
Run Code Online (Sandbox Code Playgroud)

CMakeLists.txt包含有关RPATH的以下行:

SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)

LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir) …
Run Code Online (Sandbox Code Playgroud)

macos makefile build cmake shared-libraries

21
推荐指数
1
解决办法
2万
查看次数

在构造函数的初始化列表上初始化数组或向量

如何在C++中使用构造函数的初始化列表初始化(字符串)数组或向量?

请考虑这个例子,我想用构造函数的参数初始化一个字符串数组:

#include <string>
#include <vector>

class Myclass{
           private:
           std::string commands[2];
           // std::vector<std::string> commands(2); respectively 

           public:
           MyClass( std::string command1, std::string command2) : commands( ??? )
           {/* */}
}

int main(){
          MyClass myclass("foo", "bar");
          return 0;
}
Run Code Online (Sandbox Code Playgroud)

除此之外,建议在创建对象时保存两个字符串的两种类型(数组与向量)中的哪一种,为什么?

c++ arrays constructor initialization vector

3
推荐指数
1
解决办法
1万
查看次数

将文本文件的内容追加到C++中的另一个文件中

如何打开文本文件并将其所有行附加到C++中的另一个文本文件?我主要找到解决方案,用于从文件到字符串的单独读取,以及从字符串写入文件.这可以优雅地结合在一起吗?

并不总是给出两个文件都存在.访问每个文件时应该有一个bool返回.

如果这已经偏离主题,我很抱歉:将文本内容附加到文件中是否存在冲突,这意味着多个程序可以同时执行此操作(行的顺序无关紧要)?如果不是,什么是(原子)替代品?

c++ file atomic append fwrite

2
推荐指数
1
解决办法
6513
查看次数