wchar 模式下 pugixml 的链接错误
Linking errors for pugixml in wchar mode
当我尝试在wchar模式下使用pugi构建二进制文件时,我收到大量链接器未定义的引用错误,暗示库中缺少某些函数的wchar_t
版本。
我正在使用 Ubuntu 16.04 和我从 apt-get 获得的libpugixml-dev
。
下面是一个拒绝构建的示例代码:
#include <pugixml.hpp>
int main(int argc, char *argv[])
{
pugi::xml_node n;
n.set_name(L"");
return 0;
}
我用
g++ -o pugi_test main.cpp -std=c++11 -DPUGIXML_WCHAR_MODE -lpugixml
并得到
undefined reference to `pugi::xml_node::set_name(wchar_t const*)'
我还尝试将#define PUGIXML_WCHAR_MODE
放在#include
上方的main.cpp
中,并在pugiconfig.hpp
中取消注释相同的#define
。
如果我删除 wchar 的所有痕迹(L""
⇒""
并删除-DPUGIXML_WCHAR_MODE
(,构建将毫无障碍。
如果我想使用 wchar 模式,我应该重建库吗?我在手册中找不到任何相关内容。
如果我想使用 wchar 模式,我应该重建库吗?
是的。拥有这样PUGIXML_WCHAR_MODE
宏是没有意义的,除非它控制库的编译(在我看来(。编译库和库的用户时都必须(取消(定义它。
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误