我尝试在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) 如何在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++中的另一个文本文件?我主要找到解决方案,用于从文件到字符串的单独读取,以及从字符串写入文件.这可以优雅地结合在一起吗?
并不总是给出两个文件都存在.访问每个文件时应该有一个bool返回.
如果这已经偏离主题,我很抱歉:将文本内容附加到文件中是否存在冲突,这意味着多个程序可以同时执行此操作(行的顺序无关紧要)?如果不是,什么是(原子)替代品?