fltk-rs踩坑记录,解决could not find native static library cfltk, perhaps an -L flag is missing 问题

Posted IP大侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fltk-rs踩坑记录,解决could not find native static library cfltk, perhaps an -L flag is missing 问题相关的知识,希望对你有一定的参考价值。

fltk-rs踩坑记录

最近想用rust写一个简单的gui程序,所以查了一下rust的gui库,好像rust在gui方面发展还不好,但是我要实现的很简单,所以最终选择了fltk-rs来开发。
现在只是为了跑通helloworld,所以只碰到这一个问题,以后在碰到别的会再补充。

项目地址:

https://github.com/fltk-rs/fltk-rs

按说明安装

按照作者的说明,依赖添加为

[dependencies]
fltk = "^1.3"

然后把helloworld的代码写好后,执行cargo run。

但是编译的时候出现问题,总是报错

Compiling fltk-sys v1.0.17
Compiling fltk v1.0.18
error: could not find native static library cfltk, perhaps an -L flag is missing?

error: aborting due to previous error

error: could not compile fltk-sys

找寻解决方案

于是我在作者的github的issue里面找到了一个类似的,https://github.com/fltk-rs/fltk-rs/issues/723, 但是得到的答案是把依赖改为

[dependencies]
fltk =  version = "1", features = ["fltk-bundled"] 

还有一个也比较类似:
https://github.com/fltk-rs/fltk-rs/discussions/1116

最终在这里找到了答案:
https://fltk-rs.github.io/fltk-book/Setup.html#detailed-setup

原来运行fltk-rs需要在电脑上安装有cmake和git,我电脑上没有安装cmake,所以有这个报错信息。
所以我的目的就是安装cmake

检测是否安装了cmake

在命令行中输入 cmake --version 如果返回了版本信息,就说明安装成功了,否则就是未安装成功

mac安装地址:
https://blog.csdn.net/xujiuba/article/details/107234040

windows安装教程:
https://blog.csdn.net/u011231598/article/details/80338941

按照教程安装完成之后,要重新打开一个shell(在安装cmake之前的shell界面没法使用到cmake命令),然后输入cmake --version,能看到版本信息即为安装成功

最后再编译

保证 git --versioncmake --version 能够获取到版本信息,则可以再次编译项目了
这次应该就可以成功编译了。

其他问题

  • 如果是windows的话,build之后的exe文件运行的时候,后面总有一个黑色的命令行界面,如何去除?
    在main.rs 的最前面加上 #![windows_subsystem = "windows"] ,然后再编译即可

以上是关于fltk-rs踩坑记录,解决could not find native static library cfltk, perhaps an -L flag is missing 问题的主要内容,如果未能解决你的问题,请参考以下文章

flutter踩坑01:下载包失败:Could not resolve all artifacts for configuration....

hadoop运行踩坑:Error: Could not find or load main class org.apache.hadoop.mapreduce.v2.app.

博客项目踩坑-Could not write JSON: Infinite recursion (StackOverflowError)

博客项目踩坑-Could not write JSON: Infinite recursion (StackOverflowError)

博客项目踩坑-Could not write JSON: Infinite recursion (StackOverflowError)

[踩坑]elasticsearch-7.12.1 启动报错could not find java in bundled JDK at /opt/elasticsearch-7.12.1/jdk/bin