草庐IT

symbol_info

全部标签

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++ - 带有 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++ - 我们能否在运行时确定两个 type_info 是否可转换?

有没有办法从两个const::std::type_info中判断对象,让我们将它们命名为B和D如果D描述的类型是从类型B派生的?我问是因为我想删除我得到的对象的类型,但稍后能够检查它是否可以安全地提升。void*data;const::std::type_info*D;templatevoidstore(D&&object){D=&typeid(object);data=::std::addressof(object);}templateB&load(){//if(typeid(B)!=(*D))throw::std::bad_cast{};return*reinterpret_cas

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++ - 将 HDF5 库链接到 Visual C++ DLL 项目 : unresolved external symbol __imp__*

我正在使用MSVisualC++2010Express构建一个插件,我想包含来自HDF5library的功能.我尝试过使用CMake从源代码构建HDF5,并安装预编译库(HDF5-1.8.7_CMake_x86_shared.zip对于VC2008)。对于任一构建目录/方法,我都修改了我的项目属性:C/C++>General>AdditionalIncludeDirectories:为HDF5添加includeLinker>General>AdditionalLibraryDirectories:为HDF5添加lib这是我的DLL模块的片段:#include"cpp/H5Cpp.h"s

c++ - SFML 2.1 架构 x86_64 错误的 undefined symbol

我最近安装了SFML2.1并尝试从终端编译和运行,而不是Xcode,他们网站上的示例程序http://www.sfml-dev.org/tutorials/2.0/start-linux.php.PathtowhereIinstalledSFML:/Users/.../Desktop/C++_Code/SMFL/SFML-2.1-osx-gcc-universal但是,我不断收到以下错误:Undefinedsymbolsforarchitecturex86_64:"sf::String::String(charconst*,std::__1::localeconst&)",refere