草庐IT

include_guard_symbol

全部标签

c++ - 如何使用 boost::filesystem 检查文件是常规文件还是符号链接(symbolic link)?

我想检查字符串name是否指向我可以打开和读取的文件,因此它可以是常规文件或符号链接(symboliclink)。我第一次用这个:std::ifstreamin(name.c_str());if(!in.is_open()){//throwexception!}但是当name引用目录名称时它没有抛出异常。现在我正在使用这个:if(!fs::exists(name)||fs::is_directory(name)){//throwexception!}但如果它是目录的符号链接(symboliclink),它(大概)不会抛出异常。这也是同样的道理:if(!fs::is_regular_fi

c++ - 错误 : Undefined symbols for architecture x86_64 with classes

我是一名初学者,正在编写一个帮助我节食的有趣程序。该程序尚未完成,但在我编写时正在编译。我不断收到标题中提到的错误:Undefinedsymbolsforarchitecturex86_64withclasses我看过类似的问题,但它们都与模板和继承类有关,这与我的情况不同。我只是在宣布一个类(class),没什么特别的。我认为这与未正确定义类有关,但我无法弄清楚它是什么。这可能是我想念的愚蠢的东西,但我仍然被困住了。谢谢。#include#includeusingnamespacestd;classMeal{private:stringname;intprotein;intcarbs

c++ - 无法将 boost 库连接到我的项目 "symbol lookup error"

我有以下情况:我已经创建了动态库lib.so。这个库使用了另一个静态库lib.a。它们都使用Boost库(我将它们链接到CMake文件中)。(我在Java项目中使用了这个动态库)这是lib.so中file.cpp的代码,从lib.a调用getFilesFromDirectory()#include"DrawingDetector.h"#include"../../DrawingDetection.h"#include#includeusingnamespacestd;JNIEXPORTvoidJNICALLJava_DrawingDetector_detectImage(JNIEnv*

c++ - 升级到 OS X Mavericks 后架构 x86_64 的 OpenCV undefined symbol

我有一个运行良好的opencv项目。今天我已经将我的OSXlion升级到Maverick,我收到以下imwrite函数的错误:Undefinedsymbolsforarchitecturex86_64:"cv::imwrite(std::__1::basic_string,std::__1::allocator>const&,cv::_InputArrayconst&,std::__1::vector>const&)",referencedfrom:_maininHello.old:symbol(s)notfoundforarchitecturex86_64我不得不说其他opencv函

c++ - 将 OSX Clang 配置为对 include 语句区分大小写

我知道C++include语句中区分大小写是一个文件系统问题(相关问题here和here)。是否可以将Clang配置为要求区分大小写的匹配以防止跨平台构建问题? 最佳答案 Clang现在有这些警告标志:-Wnonportable-include-path-Wnonportable-system-include-path第一个用于引用包含,第二个用于尖括号包含。它们甚至可以映射到错误:-Werror=nonportable-include-path-Werror=nonportable-system-include-path据推测,默

c++ - 带有 OO 的模板导致 Unresolved external symbol 问题

我没有.cpp文件,因为我正在使用模板。但是还是遇到了unresolvedexternalsymbol的问题。有人知道原因吗?如果你能帮助我,非常感谢。templateclassSQLiteHelper{public:staticSQLiteHelper*getInstance(T*factory){if(NULL==m_sInstance){m_sInstance=newSQLiteHelper(factory);}returnm_sInstance;}private:SQLiteHelper(T*factory){m_factory=factory;}private:staticS

C++ 重复符号链接(symbolic link)器错误与适当的包含保护?

我正在编写一个程序来测试具体的继承,但我无法解决Clang返回的重复符号链接(symboliclink)器错误。我的理解是重复的符号总是不正确的包含/守卫的结果。我已经三次检查了我的包含/守卫,但我找不到任何错误。重复的符号可能是包含guard以外的其他东西的结果吗?非常感谢,随着我的编程技能的提高,我打算经常在这里做出贡献。.h#ifndefPOINTARRAY_H#definePOINTARRAY_H#include"array.h"namespaceJules{namespaceContainers{classPointArray:publicArray{public:Point

c++ - #include <opencv2/opencv.hpp> 在 VS 2013 中不起作用

我有VS2013社区版,我刚刚在目录c:\openCV3中安装了OpenCV,并且有一个构建子文件夹和一个include子文件夹等,一切看起来都很正常。所以我用#include行创建了一个空项目但我明白了Error1errorC1083:Cannotopenincludefile:'opencv2/opencv.hpp':Nosuchfileordirectoryd:\devt\cplusplus\opencv\test1\test1\source.cpp11Test1不过,我已将项目的附加包含目录修改为:C:\OpenCV3\build\include\opencv;C:\OpenC

c++ - Boost Spirit Qi Symbols默认值和NULL值

BoostSpiritqi::symbols实现了一个键值对映射:给一个字符串的键,它可以返回某个值。我的问题是:1)对于一个空字符串,是否可以返回一个默认值?(代码中的Q1)2)对于非空字符串或键值对映射中列出的键,是否可以返回一个值表示该键无效?(代码中的Q2)**以下代码基于BOOSTSPIRIT文档。**在此先感谢您的任何建议。#include#include#include#include#include#include#include#include#includetemplatevoidtest_parser_attr(charconst*input,Pconst&p,T

c++ - 在#include <cstdint> 之后使用类型的 Clang++ -fmodules 错误

当使用-fmodules编译时,以下简单的测试用例文件给我一个编译时错误,提示来自Clang的github镜像的“master”,使用如下所示的命令。我想知道这是否是Clang的新实验模块功能的错误——可能是标准库的模块映射实现的问题——或者我做错了什么。如果我添加-fbuiltin-module-map,错误仍然出现到命令。有趣的是,如果我替换stdint.h,错误不再出现对于cstdint.#includeuint64_tfoo;这是我的编译命令,带有错误信息:anhall@leviathan:/Users/anhall/impersonal/code/llvm-reflexpr/