我回来了,因为一些用户试图以负面的观点对我的所有帖子发表负面评论,我再也无法发布任何问题了。在那之后,很重要。
我需要编辑Makefile的帮助,具体来说是来自“ mupen64plus-ui”的Makefile-> https://github.com/robalni/mupen64plus-ui
原始行:
INCPATH = -I. -isystem /usr/include/SDL2
-isystem /usr/local/include/mupen64plus
-isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtCore -I. -isystem /usr/include/libdrm -I. -I/usr/lib64/qt5/mkspecs/linux-g++
我需要:
INCPATH = -I. -isystem /usr/include/SDL2
-isystem "$TARGETDIR/include"
-isystem /usr/include/qt5 -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtXml -isystem /usr/include/qt5/QtSql -isystem /usr/include/qt5/QtCore -I. -isystem /usr/include/libdrm -I. -I/usr/lib64/qt5/mkspecs/linux-g++
[您注意到,我只需要更改一个非常具体的细节并替换我脚本上变量上的内容,现在该Makefile的第18行可以找到文件:m64p_common.h,m64p_types.h,m64p_frontend.h,m64p_config.h
需要完成编译而没有错误。
而且我需要了解的另一件事是以下几行:
LFLAGS = -L/usr/lib64 -Wl,-O1
LIBS = $(SUBLIBS) -lquazip5 -lSDL2 -lmupen64plus -ldl -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Xml -lQt5Sql -lQt5Core -lGL -lpthread
[当我尝试编译时,输出showme找不到我认为正在/ usr / lib64中搜索文件“ libmupen64plus.so.2”的“ lmupen64plus”,但由于找不到编译器,所以再也找不到那里他的系统文件,只是到另一个地方的非常特定的前缀。
好吧,我不知道如何指示Makefile也可以在“ $ TARGETDIR / lib”中进行搜索,以发现该库可以正确编译。
如果您需要或需要检查整个脚本,有很多西班牙文字注释,可以访问-> https://pastebin.com/mxwxHc6P
我希望有人可以帮助我处理Makefile的mupen64plus-ui部分,以完成我的宏脚本的下载,编译和安装。
第一部分很简单。不确定为什么要sed
而不是只手工编辑。
sed -i "bak" -e 's#/usr/local/include/mupen64plus#"$TARGETDIR/include"#' Makefile
您正在跟踪第二部分。包括您想要的搜索路径:
LFLAGS = -L/usr/lib64 -Wl,-O1
成为:
LFLAGS = -L/usr/lib64 -L$TARGETDIR/lib -Wl,-O1
[在生成文件中使用$TARGETDIR
之前,请确保已定义。如果TARGETDIR
中有空格,则需要在其两边加上引号。
非常感谢您,我使用以下内容
sed -i "Makefile" -e "s#/usr/local/include/mupen64plus#$TARGETDIR/include#" Makefile
sed -i "Makefile" -e "s#LFLAGS = -L/usr/lib64 -Wl,-O1#LFLAGS = -L/usr/lib64 -L$TARGETDIR/lib -Wl,-O1#" Makefile
感谢解决版本,但我还不能编译,仍然是输出
g++ -L/usr/lib64 -L/media/Compartido/Videojuegos/Linux/Emulador/mupen64plus/64Bits/lib -Wl,-O1 -o mupen64plus main.o cheatparse.o common.o core.o mainwindow.o error.o plugin.o sdl.o settings.o configcontrolcollection.o keyspec.o aboutguidialog.o cheatdialog.o cheattree.o configeditor.o downloaddialog.o gamesettingsdialog.o inputdialog.o logdialog.o pluginconfigdialog.o settingsdialog.o emulation.o emuthread.o glwindow.o vidext.o osal_dynamiclib.o romcollection.o thegamesdbscraper.o gridview.o listview.o tableview.o clickablewidget.o treewidgetitem.o qrc_mupen64plus.o moc_mainwindow.o moc_aboutguidialog.o moc_cheatdialog.o moc_cheattree.o moc_configeditor.o moc_downloaddialog.o moc_gamesettingsdialog.o moc_inputdialog.o moc_logdialog.o moc_pluginconfigdialog.o moc_settingsdialog.o moc_emulation.o moc_emuthread.o moc_romcollection.o moc_thegamesdbscraper.o moc_gridview.o moc_listview.o moc_tableview.o moc_clickablewidget.o -lquazip5 -lSDL2 -lmupen64plus -ldl -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Xml -lQt5Sql -lQt5Core -lGL -lpthread
/usr/lib64/gcc/x86_64-slackware-linux/5.5.0/../../../../x86_64-slackware-linux/bin/ld: no se puede encontrar -lmupen64plus
collect2: error: ld devolvió el estado de salida 1
Makefile:420: fallo en las instrucciones para el objetivo 'mupen64plus'
make: *** [mupen64plus] Error 1
好LD无法找到-lmupen64plus,但是我不明白我需要解决的问题