在寻找匈牙利问题的解决方案时,我找到了这个 GitHub 链接。
我浏览了readme.md文件并执行了那里描述的所有内容。复制后hungarian.so到我的工作目录,当我试图编译hungarian.cpp使用make hungarian,我得到这样的输出:
anupam@JAZZ:~/Python/hungarian-master$ make hungarian
g++ hungarian.cpp -o hungarian
hungarian.cpp:7:20: fatal error: Python.h: No such file or directory
#include "Python.h"
^
compilation terminated.
make: *** [hungarian] Error 1
Run Code Online (Sandbox Code Playgroud)
我在 Stack Overflow 上找到了这个相关问题,但答案对我不起作用。
我对 GitHub 很陌生,我不知道如何在g++. 有人可以帮我解决这个问题,接下来该怎么做?
我最近在虚拟框中安装了 ubuntu 14.04。现在我想在其中安装 g++ 4.7。我正在终端中尝试此命令,但它不起作用。
sudo apt-get install g++-4.7
Reading package list... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package g++-4.7
E: Couldn't find any package by regex 'g++-4.7'
Run Code Online (Sandbox Code Playgroud)
但我发现 gcc 与 Ubuntu 14.04 安装本身一起存在。
我怎么能在 ubuntu 14.04 中安装 g++ 并且任何版本的 g++ 高于 4.7.2 对我来说都很好。
我刚刚输入:
sudo apt-get install g++
Run Code Online (Sandbox Code Playgroud)
并得到:
The following packages have unmet dependencies:
g++ : Depends: g++-4.8 (>= 4.8.2-5~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
我也按照其他论坛的建议进行了尝试:
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)
和
sudo apt-get -f install
Run Code Online (Sandbox Code Playgroud)
没有解决我的问题。知道答案的请帮忙。
编辑:
根据评论中的建议,我尝试了:
sudo apt-cache policy g++-4.8
Run Code Online (Sandbox Code Playgroud)
并得到以下输出:
g++-4.8:
Installed: (none)
Candidate: 4.8.2-19ubuntu1
Version table:
4.8.2-19ubuntu1 0
500 http://ca.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
Run Code Online (Sandbox Code Playgroud)
通过尝试:
sudo apt-get install g++-4.8
Run Code Online (Sandbox Code Playgroud)
我有:
The following packages have unmet dependencies:
g++-4.8 …Run Code Online (Sandbox Code Playgroud) 我最近安装了 ubuntu 14.04 。我试图通过这样的命令运行 C++ 代码:
g++ first.cpp -o first
Run Code Online (Sandbox Code Playgroud)
然后它说:
The program 'g++' is currently not installed. You can install it by typing:
sudo apt-get install g++
Run Code Online (Sandbox Code Playgroud)
然后我做到了。输入并按回车后,它显示如下消息:
gedit is already the newest version.
libgrail6 is already the newest version.
xserver-xorg-core is already the newest version.
libgdata13 is already the newest version
...
Run Code Online (Sandbox Code Playgroud)
(还有更多这样的行)
然后我尝试再次运行上面给出的相同命令。但是终端又说我没有安装g++。我在这里缺少什么?现在如何运行 C++ 代码?
我目前正在尝试安装 gcc 4.8.1。当前安装了 4.8.2 和 4.9.1。我从这里下载了 4.8.1 http://gcc.cybermirror.org/releases/gcc-4.8.1/。提取文件后,我做了一个./configure然后尝试了make. 最后make,我收到此错误
/usr/include/linux/errno.h:1:23: fatal error: asm/errno.h: No such file or directory
#include <asm/errno.h>
Run Code Online (Sandbox Code Playgroud)
我是 linux 新手,所以我不知道如何查找或添加这个头文件。
编辑:我做的步骤:
cd gcc-4.8.1./configure --build=x86_64-linux-gnumake -j4我不知道我做了什么不同的事情,但它终于编译了。之后我确实进行了安装。我现在的问题是如何使用它而不是使用命令 gcc-4.8 仍然默认使用的 4.8.2。
所以,我已经安装了 32 位的 Xubuntu 14.04.1。我们有一些接口代码,我们打算在其中为我们支持的各种平台和 Windows DLL 发布 SO。(是的,我知道,二进制版本不好,但在这里也不相关。)
我正在尝试使用-m32/ -m64gcc/g++ 参数构建具有 32 位 14.04.01 的 32 位和 64 位 SO 。32 位版本工作正常,但 64 位版本失败
/usr/include/c++/4.8/string:38:28: fatal error: bits/c++config.h: No such file or directory
Run Code Online (Sandbox Code Playgroud)
签入包含文件,该文件真正存在于 32 位,但缺少 64 位。
谷歌搜索这个问题,这似乎在 GCC/G++ 4.6 过去发生过,但后来被标记为固定。但是 14.04.1 使用的是 GCC/G++ 4.8,这表明 GCC/G++ 4.8 中的那些库出现了回归。这是其他人见过的东西吗?
如有必要,我可以为 64 位 14.04.1 设置一个新的 VM,看看它是否会选择正确的库版本。如果可能的话,我宁愿不这样做,因为我还有一堆其他东西,我也必须重新安装。有更好的解决方案吗?如果我确实安装了 64 位 14.04.1,我肯定能够交叉编译回 32 位而不会丢失另一个方向的标头吗?
尝试使用以下命令编译程序时:
g++ -o <output_file> <my_file.cpp>
我发现了以下报告......
The program 'g++' can be found in the following packages:
* g++
* pentium-builder
Try: sudo apt-get install <selected package>
Run Code Online (Sandbox Code Playgroud)
然后我试了...
nawshad@ubuntu:~/Thesis/Codes/Thesis_Utility_Function/Test Codes$ sudo apt-get install g++
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
g++ : Depends: g++-4.6 (>= 4.6.3-1~) but it is not going to be installed
libqt4-opengl : Depends: libqtcore4 (= …Run Code Online (Sandbox Code Playgroud) 在我的 Ubuntu 中有g++ --version-
g++ (Ubuntu 4.4.3-4ubuntu5.1) 4.4.3
Copyright (C) 2009 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.
Run Code Online (Sandbox Code Playgroud)
我想g++ --version在另一台 Linux 机器上有相同的-
g++ (GCC) 4.1.2 20070626 (Red Hat 4.1.2-14)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or …Run Code Online (Sandbox Code Playgroud) 我计划下载并安装 Ubuntu 13.04,我希望我的系统上有两个编译器。
第一个问题:ubuntu 13.04 附带的 gcc/g++/gfortran 是什么版本?(是 4.7.3 吗?)。
因此,我希望将 gcc/g++/gfortran 4.8 作为我的默认编译器(并将 4.7.3 作为“备份”)。某处是否有可用的预编译版本(使用正确的优化编译并启用 std::thread)?以及如何下载安装它?
g++ -c xyz.cpp
Run Code Online (Sandbox Code Playgroud)
创建目标文件 xyz.o
但是当我在 vim 编辑器中打开它时,它显示了一些疯狂的文本......
如何查看机器码?
可以使用什么包打开并查看该机器码?