草庐IT

include_guard_symbol

全部标签

c++ - 使用#include 加载 OpenCL 代码

很久以前我就看到过用hlsl/glsl着色器代码完成的——在源代码文件上使用#include将代码粘贴到char*这样在运行时就不会发生文件IO。如果我将其表示为伪代码,它看起来有点像这样:#defineCLSourceToString(filename)"#include"filename""constchar*kernel=CLSourceToString("kernel.cl");当然#define不会起作用,因为它只会尝试使用这些引号来开始字符串。 最佳答案 查看子弹物理引擎对OpenCL的使用how对kernel执行此操作

c++ - CMAKE include_directories

我正在尝试将我的图书馆与其他图书馆链接起来lib1使用CMAKE2.8.应该说是在Windows上。在CMakeLists.txt我有:add_library(mylib${sources})include_directories(${CMAKE_SOURCE_DIR}/lib1/include)target_link_libraries(mylib${lib1_path})但是编译器说一些#include在我的库中未解决,可能是因为没有-I.../lib1/includegcc的命令行参数.更新:应该说编译器在编译测试而不是mylib时提示. 最佳答案

c++ - Qt 5.3。 QtWidgets : No such file or directory #include <QtWidgets>

我想编译Qt例子。我收到错误QtWidgets:Nosuchfileordirectory#includegreaterThan(QT_MAJOR_VERSION,4):QT+=widgets-doesnothelpQT+=widgets-doesnothelpINCLUDEPATH+=/opt/Qt/5.3/Src/qtbase/include/-doesnothelpQt5.3。Ubuntu14.04x64。 最佳答案 您需要仔细检查您是否完成了所有这些步骤:已安装模块greaterThan(QT_MAJOR_VERSION,4

c++ - 链接器错误 - 带有 libboost_thread 的 macOS 上 undefined symbol std::string::c_str() const?

我从homebrew安装了boost1.55.0在macos小牛队上。获取链接器异常-找不到std::string::c_str(),我不明白为什么。这可能是Homebrew软件的问题吗?我尝试直接从boost编译boost1.55.0,它甚至没有在macOS上构建。这段代码:#include#include#include#includetypedefstd::unordered_mapStringMap;staticboost::thread_specific_ptr>rlist;intmain(){return0;}使用此命令行编译:g++-std=c++11main.cpp-I

c++ - 何时使用 include guards 或 #pragma once C++

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion在每个头文件中使用您选择的包含守卫和#pragmaonce中的一个/两者是一个好习惯,还是只使用那些带有类声明等内容的文件??我很想把它放在每个头文件中,但我担心它是不必要的,只会增加编译时间。什么是好的做法或常见的做法?让我澄清一下:我理解两者之间的区别。我想问的是,根据经验,程序员是在每个文件中使用它,还是只在需要它的文件中使用它。

C++ 链接错误 : Undefined symbols using a templated class

我在编写的类中遇到了一些非常奇怪的链接错误。我完全找不到任何可以描述正在发生的事情的东西。VisualStudio(WindowsXP)players.obj:errorLNK2019:unresolvedexternalsymbol"public:__thiscallTreeNode::TreeNode(void)"(??0?$TreeNode@VPlayer@@@@QAE@XZ)referencedinfunction"public:__thiscallPlayerList::PlayerList(void)"(??0PlayerList@@QAE@XZ)Xcode(OSX10.5

c++ - .mm 转换导致 Undefined symbols for architecture i386 错误

我最近将一个c++文件导入到我想使用的obj项目中。在我想使用它的类中,我将文件名从MyClass.m更改为MyClass.mm。这样做会给我20个左右的错误。这些错误到底是什么意思,我如何将MyClass更改为objective-c++类以促进我想使用的新c++类,而不会出现这些错误?Undefinedsymbolsforarchitecturei386:"setAudioInputIsStereo(audiosourceobj*,bool)",referencedfrom:-[EngineextractMp3Audio:withChannelId:withPadId:]inEngi

c++ - 关于包含带有 guard 的头文件

我正在阅读一本关于AppliedC++的书。Includeguardswillpreventaheaderfilefrombeingincludedmorethanonceduringthecompilationofsourcefile.Yoursymbolnamesshouldbeunique,andwerecommendchoosingthenamebasedonthenameofthefile.Forexample,ourfile,cache.hcontainsthisincludeguard.#ifndef_cache_h_#define_cache_h_...#endif//

c++ - include guard没有生效

我已经定义了一个util.h文件,该文件具有要在其他多个文件中使用的功能。此header具有包含保护,但是当我在两个不同的文件中使用它时,出现multipledefinitionof...错误。我究竟做错了什么?我读过this,但这与变量声明/定义有关。This答案似乎更相关,但我不清楚如何解决此问题。//util.h//includelotsofstandardheaders#include...#ifndefUTIL_H#defineUTIL_Husingnamespacestd;//multipledefinitionof`randarr(int,int,int)`int*ran

c++ - 链接器错误 : undefined reference to symbol 'pthread_rwlock_trywrlock@@GLIBC_2.2.5'

我一直在使用CentOS、Qt4.7和GCC4.4进行开发我刚刚安装了包含GCC4.7.2的RedHatDeveloperToolset1.1,在make结束时,我收到一个错误/usr/bin/ld:../../bin/Solo:undefinedreferencetosymbol'pthread_rwlock_trywrlock@@GLIBC_2.2.5'/usr/bin/ld:note:'pthread_rwlock_trywrlock@@GLIBC_2.2.5'isdefinedinDSO/lib64/libpthread.so.0sotryaddingittothelinker