- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用 yaml-cpp 运行一个简单的测试程序,如下所示:
// main.cpp
#include <iostream>
#include "yaml-cpp/yaml.h"
int main(int argc, const char *argv[])
{
YAML::Node config = YAML::LoadFile("config.yaml");
std::cout << config << std::endl;
}
我正在尝试使用此命令进行编译:
g++ -lyaml-cpp -L$(HOME)/local/yaml-cpp/build -I$(HOME)/local/yaml-cpp/include -std=c++11 main.cpp
我收到如下所示的错误:
/tmp/ccz0D5ol.o: In function `main':
main.cpp:(.text+0xdd): undefined reference to `YAML::LoadFile(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
这是我正在使用的 g++:
$ g++ --version
g++ (GCC) 5.4.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
这是在我没有 root 权限的 linux 机器上。我将 git 存储库克隆到 $HOME/local/yaml-cpp
,创建了一个构建目录,运行 cmake -DBUILD_SHARED_LIBS=ON ..
,然后 make
,它创建了文件 libyaml-cpp.so.0.6.2
和符号链接(symbolic link) libyaml-cpp.so.0.6
和 libyaml-cpp.so
。如果重要的话,我的 cmake 是 3.11.2 版。
不确定这是否有帮助,但我首先由 yaml-cpp 的维护者作为 github issue 解决了这个问题, 他说
It's likely a configuration error; you might be able to get an answer if you ask on Stack Overflow.
我还发现了一个类似的问题,问题几乎完全相同,但她 solution重新排列编译命令的顺序对我不起作用。无论 -lyaml-cpp
是在命令的开头还是结尾,我都会遇到同样的问题。
如有任何帮助,我们将不胜感激。
最佳答案
@VTT 将我指向 cmake 和编译器的东西是正确的。当我查看原始 cmake
命令的结果时,前两行说
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
即使 which gcc
和 which g++
指向版本 5.4.0。我找到了 this SO answer指向this cmake FAQ page说你需要设置 CC
和 CXX
环境变量来指定不同的编译器。所以我将我的 cmake 命令更改为:
CC=$(which gcc) CXX=$(which g++) cmake -DBUILD_SHARED_LIBS=ON ..
现在一切正常。
关于c++ - yaml-cpp编译错误: "undefined reference to YAML::LoadFile",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50545014/
我只是有一个更琐碎的问题。 为什么undefined == undefined 返回true,而undefined >= undefined 为false? undefined 等于 undefine
用PHP 7.2编写套接字服务器。根据Firefox 60中的“网络”选项卡,服务器的一些HTTP响应的第一行随机变为undefined undefined undefined。因此,我尝试记录套接字
在 JavaScript 中这是真的: undefined == undefined 但这是错误的: undefined <= undefined 起初我以为<=运算符包含第一个,但我猜它试图将其转换
在回答这个问题 (Difference between [Object, Object] and Array(2)) 时,我在 JavaScript 数组中遇到了一些我以前不知道的东西(具有讽刺意味的
来自https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/of , Note: thi
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
当我添加 到我的 PrimeFaces Mobile 页面,然后我在服务器日志中收到以下警告 WARNING: JSF1064: Unable to find or serve resource, u
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我正在运行 PHP 脚本并继续收到如下错误: Notice: Undefined variable: my_variable_name in C:\wamp\www\mypath\index.php
我是一名优秀的程序员,十分优秀!