当我尝试编译时魔法集编辑器我收到这些错误:
g++ -DHAVE_CONFIG_H -I. -I./src -I/usr/lib/i386-linux-gnu/wx/include/base-unicode-debug-2.8 -I/usr/include/wx-2.8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -D__WXDEBUG__ -DwxUSE_GUI=0 -pthread -I. -Wall -O2 -MT ./src/magicseteditor-main.o -MD -MP -MF ./src/.deps/magicseteditor-main.Tpo -c -o ./src/magicseteditor-main.o `test -f './src/main.cpp' || echo './'`./src/main.cpp
In file included from ./src/util/prec.hpp:96:0,
from ./src/main.cpp:9:
./src/util/string.hpp:20:38: fatal error: boost/preprocessor/cat.hpp: No such file or directory
compilation terminated.
make: *** [src/magicseteditor-main.o] Error 1
答案1
尽管Sourceforge 页面您可以tar.gz
提取并使用安装脚本来安装程序,我遇到了问题,因此最好针对系统上的库编译一个版本。
您的主要编译问题似乎是缺少libboost
开发库:您可以通过运行来获取所有这些库
sudo apt-get install libboost-all-dev
依赖项
但是,该程序还需要许多其他依赖项和构建依赖项,因此这里介绍我在 Ubuntu 12.04 上成功编译它的方法。
首先下载必要的先决条件:
sudo apt-get install build-essential checkinstall subversion
现在,安装所有构建依赖项:
sudo apt-get install libboost-all-dev libhunspell-dev libwxgtk2.8-dev libwxbase2.8-dev
然后是运行程序的依赖项:
sudo apt-get install libhunspell-1.3-0 libwxbase2.8-0 libwxgtk2.8-0 libboost-system1.48.0 libboost-regex1.48.0
如果您在运行该程序时遇到任何问题,您可能只需要另一个libboost
相关的共享库;请参阅该程序论坛上的这个帖子。
笔记:这些软件包列表与 12.04 上的软件包列表相关;libboost 库(及其他库)的版本在后续的 Ubuntu 版本中可能会有所不同。
汇编
我假设你通过输入以下命令从 svn 中签出了代码
svn co https://magicseteditor.svn.sourceforge.net/svnroot/magicseteditor/trunk magicseteditor
然后cd
在终端进入magicseteditor
文件夹,并运行
./configure && make
如果您希望在安装位置设置前缀或希望选择另一个配置选项,请./configure --help
在运行之前运行./configure && make
。
现在只需运行
sudo checkinstall --pkgversion=2.0
然而,之后您还必须将数据文件夹安装到 中~/.magicseteditor
,因为checkinstall
似乎没有安装该数据。因此请确保~/.magicseteditor
存在,并确保您位于编译它的 magicseteditor 文件夹中,然后运行:
cp -r data/ ~/.magicseteditor/
mkdir ~/.magicseteditor/resource
cp -r src/resource/msw/cursor/ ~/.magicseteditor/resource
cp -r src/resource/msw/icon/ ~/.magicseteditor/resource
cp -r src/resource/msw/tool/ ~/.magicseteditor/resource
cp -r src/resource/msw/other/* ~/.magicseteditor/resource
cp -r src/resource/common/* ~/.magicseteditor/resource
确保复制时没有错误,因为目录结构很重要。
再次,这些命令仅在您位于编译它的 magicseteditor 文件夹中时才有效。(实际上,magicseteditor 文件夹中似乎确实有一个Resources.sh
可用于安装数据的文件,但它不会安装数据目录,所以我应该使用上面的命令,它将安装您需要的所有内容。)
你似乎还需要来自其他包裹,因此请下载它,移动到其包含的文件夹,然后使用
tar -xzvf mse-linux32-2011-02-05-full.tar.gz
cd 到文件夹并运行
cp fonts/* ~/.fonts
现在运行magicseteditor &
,将会出现如下的截图。