0

我的目标:在我的 Windows 10 机器上安装karambola 。

要安装 karambola,我需要 make 命令,任何程序都找不到该命令。唯一有效的是使用 GnuWin32(当我在 karambola 目录中时):

& 'C:\Program Files (x86)\GnuWin32\bin\make.exe'

但后来它只说:

 -Wall -O2 -DNDEBUG  -DVERSION_NUMBER=2.0 -o karambola.o -c karambola.cpp
 process_begin: CreateProcess(NULL, g++ -Wall -O2 -DNDEBUG -DVERSION_NUMBER=2.0 -o karambola.o -c karambola.cpp, ...) failed.
 make (e=2): Das System kann die angegebene Datei nicht finden.
 make: *** [karambola.o] Fehler 2

(“Das System kann die angegebene Datei nicht finden”表示“系统找不到给定文件”,“Fehler 2”表示“错误 2”)

同样使用 Linux 控制台总是会导致找不到“g++”命令,我认为它会包含在我使用的程序中。

它说我需要gsl,但这不适用于 Windows,所以我尝试了 Microsoft Visual Studios,然后是 Gnuwin32(连同 make.exe),然后是 Cygwin,然后是 msys 和 MinGW(基本上我能找到的所有解决方案)。我什至不知道他们每个人需要哪些包,也不知道它们的具体用途。我使用 Windows Powershell 来执行命令,因为它看起来像所有其他控制台都没有按照安装手册的预期工作。

我尝试了几天,它就是行不通。请帮忙 :(

4

2 回答 2

0

无论您尝试使用什么发行版(Cygwin、Mingw、Linux Debian、Fedora..),默认情况下都不会安装一些程序。由于没有人是 C++ 程序员,因此您需要安装/添加包含任务所需的工具、编译器、头文件和库的专用包。

例如 Cygwin 有近 10000 个包:
https ://cygwin.com/packages/package_list.html

所以你需要makeg++而且至少需要gsl development package.
用于cygcheck -p查找包含程序的包:

$ cygcheck -p usr/bin/make.exe
Found 6 matches for usr/bin/make.exe
..
make-debuginfo-4.3-1 - make-debuginfo: Debug info for make
..
make-4.3-1 - make: The GNU version of the 'make' utility

所以你需要安装包make。你可以跳过debuginfo

$ cygcheck -p usr/bin/g++.exe
Found 5 matches for usr/bin/g++.exe
gcc-g++-10.2.0-1 - gcc-g++: GNU Compiler Collection (C++)
...
gcc-g++-9.3.0-2 - gcc-g++: GNU Compiler Collection (C++)

你需要安装包gcc-g++
对于gsl,我们看一下导入库。可能是libgsl.dll.a 这样,但我们以更通用的方式询问 Cygwin 网络服务器

$ cygcheck -p usr/lib/libgsl
Found 3 matches for usr/lib/libgsl
libgsl-devel-1.16-2 - libgsl-devel: the GNU Scientific Library (installed binaries and support files
)
libgsl-devel-2.3-1 - libgsl-devel: the GNU Scientific Library
libgsl-devel-2.3-2 - libgsl-devel: the GNU Scientific Library

安装libgsl-devel

不要忘记也安装cygwin-devel

请参阅安装附加软件包的文档
https://cygwin.com/install.html

于 2021-05-18T09:58:53.037 回答
0

我想通了 :) 解决方案是在 Windows 中使用已经实现的 Linux 功能。

  1. 在 Windows 设置中启用 Linux 并安装一个我可以继续的 ubunto 控制台。这对我有帮助。

(我在以下步骤中遇到了一些问题,但有两件事帮助了我:以 root 用户身份工作和此修复。)

  1. 然后我必须安装 g++,这可以通过一个命令来完成(如果你尝试使用它,它会告诉你是哪一个)。

以下仅遵循安装说明:

  1. 通过“配置 && 制作 && 制作安装”安装 gsl
  2. 通过“make”和“make test”安装 karambola(第二个是必需的吗?可能不是)
  3. 通过“karambola myfile.poly --nolabels”或“karambola myfile.poly --labels”使用 karambola(在 root 用户模式下)。
于 2021-05-19T09:50:05.690 回答