Ошибки возникают при создании Awesome Map Editor (AME) - PullRequest
0 голосов
/ 15 января 2020

Я новичок в C ++ и Qt, и у меня нет опыта программирования на C ++. Но мне действительно нужна помощь в выяснении проблемы со сборкой Awesome Map Editor (редактора карт для игр покемонов 3-го поколения).

Я следую всем инструкциям, о которых здесь говорится: https://github.com/Diegoisawesome/AwesomeMapEditor

Но при построении YAML- CPP появляется несколько предупреждений и с этой ошибкой:

/home/administrator/Documents/AME/AwesomeMapEditor/include/QBoy/Core/RomInfo.hpp:32:
 error: QString: No such file or directory
      #include <QString>
               ^~~~~~~~~

Теперь я не уверен, почему это происходит , и я хотел бы знать, как решить эту проблему.

Если я игнорирую ошибки и собираю Qboy, то AwesomeMapEditor, я получаю эти ошибки при сборке AwesomeMapEditor:

: - 1 : ошибка: не удается найти -lQBoy

: - 1: ошибка: не удается найти -lyaml- cpp

: - 1: ошибка: собирать2: ошибка: ld вернул 1 состояние выхода

Я выполнил все шаги, описанные в его репозитории Github, но это привело к этим ошибкам, как я могу их исправить? Как я могу построить его правильно?

У меня также есть вывод компилятора, но он огромен, и, поскольку у меня нет возможности опубликовать вложение файла .txt, это все, что я могу напечатать.

Редактировать: Вот файл AwesomeMapEditor.pro, в котором кто-то должен помочь мне исправить что-либо:

#
# AwesomeMapEditor: A map editor for GBA Pokémon games.
# Copyright (C) 2016 Diegoisawesome, Pokedude
# License: General Public License 3.0
#


#
# QMake Settings, 1
#
QT         += core gui widgets
TARGET      = AwesomeMapEditor
TEMPLATE    = app
CONFIG     += c++11
DEFINES    += AME_EDITOR

# do only use if getting those useless BUILT_IN warnings
CONFIG     += warn_off


#
# QMake Settings, 2
#
VERSION = 1.0
win:QMAKE_TARGET_COMPANY     = DoMoreAwesome
win:QMAKE_TARGET_PRODUCT     = AwesomeMapEditor
win:QMAKE_TARGET_DESCRIPTION = A map editor for GBA Pokémon games.
win:QMAKE_TARGET_COPYRIGHT   = (C) 2016 Diegoisawesome, Pokedude


#
# QMake Settings, 3
#
INCLUDEPATH += include
INCLUDEPATH += include/AME/Forms
INCLUDEPATH += include/AME/Widgets
#INCLUDEPATH += include/AME/Widgets/OpenGL
INCLUDEPATH += include/AME/Widgets/Rendering
INCLUDEPATH += $$PWD/../QBoy/include
DEPENDPATH  += $$PWD/../QBoy/include
INCLUDEPATH += $$PWD/../yaml-cpp/include
DEPENDPATH += $$PWD/../yaml-cpp/include
QMAKE_LFLAGS += -static-libgcc -static-libstdc++
#win32: LIBS += -lopengl32
#unix:  LIBS += -lGL


#
# QMake Settings, 4
#
CONFIG(debug, debug|release) {
    unix|win32: LIBS += -L$$PWD/../QBoy/bin/debug/ -lQBoy
} else {
    unix|win32: LIBS += -L$$PWD/../QBoy/bin/release/ -lQBoy
}

unix|win32: LIBS += -L$$PWD/../yaml-cpp/bin/ -lyaml-cpp


#
# Source Files
#
SOURCES += \
    src/main.cpp \
    src/Forms/MainWindow.cpp \
    src/System/WriteEntry.cpp \
    src/System/ErrorStack.cpp \
    src/Text/Tables.cpp \
    src/Text/String.cpp \
    src/Structures/WildPokemonTable.cpp \
    src/Structures/WildPokemonSubTable.cpp \
    src/Structures/WildPokemonArea.cpp \
    src/Entities/MapScriptTable.cpp \
    src/Entities/ConnectionTable.cpp \
    src/Entities/EventTable.cpp \
    src/Graphics/Tileset.cpp \
    src/Graphics/TilesetManager.cpp \
    src/Mapping/MapBorder.cpp \
    src/Mapping/MapHeader.cpp \
    src/Mapping/MapNameTable.cpp \
    src/Mapping/Map.cpp \
    src/Mapping/MapBank.cpp \
    src/Widgets/QHexLineEdit.cpp \
    src/Widgets/QHexSpinBox.cpp \
    src/Mapping/MapBankTable.cpp \
    src/System/Configuration.cpp \
    src/System/LoadedData.cpp \
    src/Widgets/Misc/Messages.cpp \
    #src/Widgets/OpenGL/AMEMapView.cpp \
    #src/Widgets/OpenGL/AMEBlockView.cpp \
    src/Widgets/AMEImageButton.cpp \
    src/Forms/ErrorWindow.cpp \
    #src/Widgets/OpenGL/AMEBorderView.cpp \
    src/Structures/PokemonTable.cpp \
    src/Graphics/OverworldTable.cpp \
    #src/Widgets/OpenGL/AMEEntityView.cpp \
    src/Graphics/PropertyTable.cpp \
    src/System/Settings.cpp \
    src/Entities/EntityRawData.cpp \
    src/Mapping/MapLayoutTable.cpp \
    src/Widgets/QFilterChildrenProxyModel.cpp \
    src/Structures/ItemTable.cpp \
    src/Forms/SettingsDialog.cpp \
    src/Forms/TilesetDialog.cpp \
    src/Algorithm/PaletteQuantizer.cpp \
    src/Widgets/Listeners/MovePermissionListener.cpp \
    src/Widgets/Chunks.cpp \
    src/Widgets/QHexEdit.cpp \
    src/Widgets/Commands.cpp \
    #src/Widgets/OpenGL/AMEOpenGLShared.cpp
    src/Widgets/Rendering/AMEBlockView.cpp \
    src/Widgets/Rendering/AMEBorderView.cpp \
    src/Widgets/Rendering/AMEEntityView.cpp \
    src/Widgets/Rendering/AMEMapView.cpp


#
# Header Files
#
HEADERS  += \
    include/AME/Forms/MainWindow.h \
    include/AME/Structures/WildPokemonTable.hpp \
    include/AME/System/ErrorStack.hpp \
    include/AME/System/WriteEntry.hpp \
    include/AME/System/IUndoable.hpp \
    include/AME/Text/String.hpp \
    include/AME/Text/Tables.hpp \
    include/AME/Structures/WildPokemonSubTable.hpp \
    include/AME/Structures/StructureErrors.hpp \
    include/AME/Structures/WildPokemonArea.hpp \
    include/AME/Structures/WildPokemonEncounter.hpp \
    include/AME/Entities/Warp.hpp \
    include/AME/Entities/Sign.hpp \
    include/AME/Entities/EntityTypes.hpp \
    include/AME/Entities/Trigger.hpp \
    include/AME/Entities/Npc.hpp \
    include/AME/Entities/Connection.hpp \
    include/AME/Entities/MapScript.hpp \
    include/AME/Entities/AutoScript.hpp \
    include/AME/Entities/Tables/EntityErrors.hpp \
    include/AME/Entities/Tables/MapScriptTable.hpp \
    include/AME/Entities/Tables/ConnectionTable.hpp \
    include/AME/Entities/Tables/EventTable.hpp \
    include/AME/Graphics/Tileset.hpp \
    include/AME/Graphics/Tile.hpp \
    include/AME/Graphics/Block.hpp \
    include/AME/Graphics/GraphicsErrors.hpp \
    include/AME/Mapping/MapBlock.hpp \
    include/AME/Mapping/MapHeader.hpp \
    include/AME/Graphics/TilesetManager.hpp \
    include/AME/Mapping/MapBorder.hpp \
    include/AME/Mapping/MappingErrors.hpp \
    include/AME/Mapping/Map.hpp \
    include/AME/Mapping/MapBank.hpp \
    include/AME/Widgets/QHexLineEdit.h \
    include/AME/Widgets/QHexSpinBox.h \
    include/AME/Mapping/MapBankTable.hpp \
    include/AME/Mapping/MapNameTable.hpp \
    include/AME/System/Configuration.hpp \
    include/AME/System/LoadedData.hpp \
    include/AME/Widgets/Misc/Messages.hpp \
    #include/AME/Widgets/OpenGL/AMEMapView.h \
    #include/AME/Widgets/OpenGL/AMEBlockView.h \
    include/AME/Widgets/AMEImageButton.h \
    include/AME/Forms/ErrorWindow.h \
    #include/AME/Widgets/OpenGL/AMEBorderView.h \
    include/AME/Structures/PokemonTable.hpp \
    include/AME/Graphics/OverworldTable.hpp \
    #include/AME/Widgets/OpenGL/AMEEntityView.h \
    include/AME/Graphics/PropertyTable.hpp \
    include/AME/Graphics/Property.hpp \
    include/AME/System/Settings.hpp \
    include/AME/Mapping/MapName.hpp \
    include/AME/Mapping/MapLayoutTable.hpp \
    include/AME/Widgets/QFilterChildrenProxyModel.h \
    include/AME/Structures/ItemTable.hpp \
    include/AME/Forms/SettingsDialog.h \
    include/AME/Forms/TilesetDialog.h \
    include/AME/Algorithm/PaletteQuantizer.hpp \
    include/AME/Widgets/Chunks.h \
    include/AME/Widgets/Commands.h \
    include/AME/Widgets/QHexEdit.h \
    #include/AME/Widgets/OpenGL/AMEOpenGLShared.hpp
    include/AME/Widgets/Rendering/AMEBlockView.h \
    include/AME/Widgets/Rendering/AMEBorderView.h \
    include/AME/Widgets/Rendering/AMEEntityView.h \
    include/AME/Widgets/Rendering/AMEMapView.h \
    include/AME/Widgets/Listeners/MovePermissionListener.h


#
# Forms
#
FORMS    += resources/UI/MainWindow.ui \
    resources/UI/ErrorWindow.ui \
    resources/UI/SettingsDialog.ui \
    resources/UI/TilesetDialog.ui

#
# Resources
#
RESOURCES += \
    resources/images.qrc #\
    #resources/shaders.qrc

DISTFILES += \
    resources/config/BPRE.yaml \
    #resources/shaders/NormalFragmentShader \
    #resources/shaders/PrimitiveVertexShader.glsl \
    #resources/shaders/PrimitiveFragmentShader.glsl

Теперь, как мне заставить эти строки работать? Пожалуйста, помогите!

#
# QMake Settings, 4
#
CONFIG(debug, debug|release) {
    unix|win32: LIBS += -L$$PWD/../QBoy/bin/debug/ -lQBoy
} else {
    unix|win32: LIBS += -L$$PWD/../QBoy/bin/release/ -lQBoy
}

unix|win32: LIBS += -L$$PWD/../yaml-cpp/bin/ -lyaml-cpp

Редактировать 2: Хорошо! Я исправил проблему, благодаря моему другу! Папки QBoy и yaml- cpp должны находиться в том же каталоге, что и AwesomeMapEditor, а не в самой папке AwesomeMapEditor, и их необходимо называть так:

Каталог должен быть структурирован следующим образом:

[root folder]
      |-------[AwesomeMapEditor]-----AwesomeMapEditor.pro
      |
      |-------[QBoy]-----------------QBoy.pro
      |
      --------[yaml-cpp]-------------CmakeLists.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...