使用 Ninja

如何解决使用 Ninja

上下文:2011 年年中 iMac、MacOS High Sierra 10.13.6、鱼终端

所以,我正在尝试构建一个应用程序,并且到目前为止我已经遵循了开发人员提供的清单。满足所有依赖关系,否则运行 Meson 将无法正常工作。开发人员说“运行 ninja -C buildninja -C build install 以安装应用程序。”

我这样做了,但立即失败了。 12 错误。我认为都与 OpenGL 相关。

../Engine/Engine.vala:2.7-2.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/OpenGLFrameBuffer.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderBuffer.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderer.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/Shaders/OpenGLShader.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/Shaders/OpenGLShaderProgram2D.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/Shaders/OpenGLShaderProgram3D.vala:1.7-1.8: error: The namespace name `GL' could not be found
using GL;
      ^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderer.vala:260.43-260.48: error: The type name `GLuint' could not be found
            glBindTexture(GL_TEXTURE_2D,(GLuint)texture_handle.handle);
                                          ^^^^^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderer.vala:334.74-334.79: error: The type name `GLvoid' could not be found
            glBufferData(GL_ARRAY_BUFFER,len * resource.points.length,(GLvoid[])resource.points,GL_STATIC_DRAW);
                                                                         ^^^^^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderer.vala:376.105-376.110: error: The type name `GLvoid' could not be found
            glTexImage2D(GL_TEXTURE_2D,GL_SRGB_ALPHA,width,height,GL_RGBA,GL_UNSIGNED_BYTE,(GLvoid[])resource.data);
                                                                                                        ^^^^^^
../Engine/Rendering/OpenGLRenderer/OpenGLRenderer.vala:422.99-422.104: error: The type name `GLvoid' could not be found
            glTexImage2D(GL_TEXTURE_2D,(GLvoid[])label.data);
                                                                                                  ^^^^^^
../Engine/Rendering/OpenGLRenderer/Shaders/OpenGLShaderProgram2D.vala:60.63-60.68: error: The type name `GLvoid' could not be found
            glBufferData(GL_ARRAY_BUFFER,8 * sizeof(float),(GLvoid[])vertices,GL_STATIC_DRAW);

它在第二行代码中失败了。以下是来自 ../Engine/Engine.vala

的片段
using SDL;
using GL;

namespace Engine
{
    public abstract class Engine : Object
    {
        Engine(bool multithread_rendering,string version_string,bool debug)
        {
            this.multithread_rendering = multithread_rendering;
            this.debug = debug;
            this.version_string = version_string;
        }

还有很多,但这可能并不重要,因为它在第 2 行失败了。

现在,我对 Vala 一无所知,也不知道它是如何工作的,但根据我有限的知识,这似乎是 Vala 无法找到它要找的东西的问题。

我一直在往墙上扔东西,但没有任何东西被卡住。任何建议或指示将不胜感激

编辑 (6/7/21) 我被要求提供用于构建的 meson.build 的内容,所以这里是

project('OpenRiichi','vala','c')

# We use subdir instead of subproject so we don't have to recompile everything when we change something in libengine
subdir('Engine')

dataDir = get_option('prefix') / get_option('datadir') / 'OpenRiichi'
add_project_arguments('-DOPENRIICHI_SEARCH_DIR="' + dataDir +  '"',language: 'c')

dependencies = [
    valac.find_library('os',dirs: meson.current_source_dir() + '/vapi',required: false)
] + engine_dependencies

sources = files(
    'source/main.vala','source/Environment.vala','source/Game/GameController.vala','source/Game/Logic/AnimationTimings.vala','source/Game/Logic/ClientAction.vala','source/Game/Logic/ClientMessage.vala','source/Game/Logic/ClientRoundState.vala','source/Game/Logic/GameLog.vala','source/Game/Logic/GamePlayer.vala','source/Game/Logic/GameStartInfo.vala','source/Game/Logic/GameState.vala','source/Game/Logic/IGameConnection.vala','source/Game/Logic/LobbyMessages.vala','source/Game/Logic/RoundLog.vala','source/Game/Logic/RoundState.vala','source/Game/Logic/ServerAction.vala','source/Game/Logic/ServerMessage.vala','source/Game/Logic/Tile.vala','source/Game/Logic/TileRules.vala','source/Game/Logic/TimeStamp.vala','source/Game/Logic/VersionInfo.vala','source/Game/MusicPlayer.vala','source/Game/Options.vala','source/Game/Rendering/GameAnimationTimings.vala','source/Game/Rendering/GameRenderView.vala','source/Game/Rendering/GameScene.vala','source/Game/Rendering/IGameRenderer.vala','source/Game/Rendering/Menu/GameEscapeMenuView.vala','source/Game/Rendering/Menu/GameMenuButton.vala','source/Game/Rendering/Menu/GameMenuView.vala','source/Game/Rendering/Menu/ScoringDoraView.vala','source/Game/Rendering/Menu/ScoringHandView.vala','source/Game/Rendering/Menu/ScoringInnerView.vala','source/Game/Rendering/Menu/ScoringPlayerElement.vala','source/Game/Rendering/Menu/ScoringPointsView.vala','source/Game/Rendering/Menu/ScoringStickView.vala','source/Game/Rendering/Menu/ScoringView.vala','source/Game/Rendering/RenderAction.vala','source/Game/Rendering/RenderCalls.vala','source/Game/Rendering/RenderHand.vala','source/Game/Rendering/RenderPlayer.vala','source/Game/Rendering/RenderPond.vala','source/Game/Rendering/RenderStick.vala','source/Game/Rendering/RenderTable.vala','source/Game/Rendering/RenderTile.vala','source/Game/Rendering/RenderWall.vala','source/Game/ServerSettings.vala','source/GameServer/Bots/Bot.vala','source/GameServer/Bots/BotConnection.vala','source/GameServer/Bots/NullBot.vala','source/GameServer/Bots/SimpleBot.vala','source/GameServer/GameState/ServerRoundState.vala','source/GameServer/GameState/ServerRoundStatePlayer.vala','source/GameServer/GameState/ServerRoundStateValidator.vala','source/GameServer/Server/Server.vala','source/GameServer/Server/ServerController.vala','source/GameServer/Server/ServerGameRound.vala','source/GameServer/Server/ServerMenu.vala','source/GameServer/Server/ServerNetworking.vala','source/GameServer/Server/ServerPlayer.vala','source/MainMenu/AboutMenuView.vala','source/MainMenu/CreateServerView.vala','source/MainMenu/InformationMenuView.vala','source/MainMenu/JoinMenuView.vala','source/MainMenu/Lobby/LobbyConnection.vala','source/MainMenu/Lobby/LobbyConnectionView.vala','source/MainMenu/Lobby/LobbyGameListControl.vala','source/MainMenu/Lobby/LobbyInformationListControl.vala','source/MainMenu/Lobby/LobbyUserListControl.vala','source/MainMenu/Lobby/LobbyView.vala','source/MainMenu/MainMenuBackgroundView.vala','source/MainMenu/MainMenuView.vala','source/MainMenu/MenuSubView.vala','source/MainMenu/MultiplayerMenuView.vala','source/MainMenu/OptionItemControl.vala','source/MainMenu/OptionsMenuView.vala','source/MainMenu/SelectGameLogMenuView.vala','source/MainMenu/ServerMenuView.vala','source/MainMenu/ServerPlayerFieldView.vala','source/MainMenu/ServerSettingsView.vala','source/MainMenu/SingleplayerMenuView.vala','source/MainWindow.vala','source/Tests/HandTests.vala',) + engine_sources

includes = [include_directories('include'),engine_includes]

executable('OpenRiichi',sources,dependencies: dependencies,include_directories: includes,gui_app: true,install: true
)
install_subdir('bin/Data',install_dir: dataDir)

我会调查相关问题,并自己做一些更多的挖掘,但现在它不再在黑暗中摸索了,所以谢谢。

编辑 2 6/7/21:

查看 meson.build 我看到了这一行,

if target_machine.system() == 'windows'
    engine_dependencies += cc.find_library('opengl32')
    engine_dependencies += valac.find_library('gl',dirs: engine_vapi_dir)
else
    engine_dependencies += dependency('gl')
endif

可能是罪魁祸首,因为我记得在某处读到 OpenGl 作为对 MacOS 的依赖不是“GL”而是“OpenGL”,或者后者带有一些版本号。我会沿着这条路走下去,看看它会把我引向何方。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams['font.sans-serif'] = ['SimHei'] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -> systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping("/hires") public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate<String
使用vite构建项目报错 C:\Users\ychen\work>npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-
参考1 参考2 解决方案 # 点击安装源 协议选择 http:// 路径填写 mirrors.aliyun.com/centos/8.3.2011/BaseOS/x86_64/os URL类型 软件库URL 其他路径 # 版本 7 mirrors.aliyun.com/centos/7/os/x86
报错1 [root@slave1 data_mocker]# kafka-console-consumer.sh --bootstrap-server slave1:9092 --topic topic_db [2023-12-19 18:31:12,770] WARN [Consumer clie
错误1 # 重写数据 hive (edu)> insert overwrite table dwd_trade_cart_add_inc > select data.id, > data.user_id, > data.course_id, > date_format(
错误1 hive (edu)> insert into huanhuan values(1,'haoge'); Query ID = root_20240110071417_fe1517ad-3607-41f4-bdcf-d00b98ac443e Total jobs = 1
报错1:执行到如下就不执行了,没有显示Successfully registered new MBean. [root@slave1 bin]# /usr/local/software/flume-1.9.0/bin/flume-ng agent -n a1 -c /usr/local/softwa
虚拟及没有启动任何服务器查看jps会显示jps,如果没有显示任何东西 [root@slave2 ~]# jps 9647 Jps 解决方案 # 进入/tmp查看 [root@slave1 dfs]# cd /tmp [root@slave1 tmp]# ll 总用量 48 drwxr-xr-x. 2
报错1 hive> show databases; OK Failed with exception java.io.IOException:java.lang.RuntimeException: Error in configuring object Time taken: 0.474 se
报错1 [root@localhost ~]# vim -bash: vim: 未找到命令 安装vim yum -y install vim* # 查看是否安装成功 [root@hadoop01 hadoop]# rpm -qa |grep vim vim-X11-7.4.629-8.el7_9.x
修改hadoop配置 vi /usr/local/software/hadoop-2.9.2/etc/hadoop/yarn-site.xml # 添加如下 <configuration> <property> <name>yarn.nodemanager.res