先声明一下本人在一家国企做开发,水平极菜。
之前写过一点 Java 和 Python (都是边查边写),只学习过 C++的语法,近期因为转视觉项目而且需要对接硬件,开始转用 C++开发调用动态链接库,但是开发的过程中发现很多常用的包都没有集成,比如定时器、日志之类的,添加库的方式也特别繁琐,得下载源码然后自行编译,没有统一的包管理工具,还被 cmake 折磨,开发过程特别痛苦。
想问下各位大佬是我的打开方式不对吗,还是说我应该只用 c++封装成动态库用 Python 写逻辑去调用?
1
ysc3839 2021-11-19 19:15:48 +08:00
C++ 是没有统一的包管理工具,但是有各种不统一的方案,比如 Unix 包管理器,vcpkg 等。
|
2
handuo 2021-11-19 19:17:03 +08:00 via Android
说白了应该就是对 cmake 不熟吧,如果熟悉了就不会感觉很麻烦呀,把包编译好安装到系统或者项目下的第三方文件夹,用 cmake 调用就行了吧
|
3
Buges 2021-11-19 19:20:14 +08:00 via Android
不会 cpp 就别用了,封装 ffi 用你会的语言做。
|
4
1vonzhang 2021-11-19 19:43:20 +08:00
不打算深入 C++的话,推荐看一下 Qt ,提供了很多所谓常用的组件,能够让你用 Java 和 Python 的知识先把 C++ 快速的写起来。
而且说不定用着用着 Qt ,慢慢 C++,CMake 之类的就也都会一些了。 |
5
skye 2021-11-19 20:06:00 +08:00
写个 jni 吧,把必要的内容放在 c++里,其他用 java
|
6
edimetia3d 2021-11-19 20:08:07 +08:00
是这样的, C++ 的 build system 是一个巨坑.
如果你能"只用 c++封装成动态库用 Python 写逻辑去调用", 那么这么做不但是可行,而且是相当好的做法. |
7
jones2000 2021-11-19 20:16:18 +08:00
国企一般不都是直接外包的嘛,很少自己开发。
|
8
unlighted 2021-11-19 20:44:41 +08:00
熟悉 cmake+下载源码编译形式,搭好架子之后,你就会发现其实开发起来还是蛮舒服的
|
9
c0xt30a 2021-11-20 07:03:12 +08:00
1. 找 header-only 的库。但是 header-only 好像是最近几年盛行的,写得都很花哨,如果编译器支持不到最新标准的话可能比较难搞。
2. 自己发明个轮子。我自己连 STL 都造过一个…… 3. 自己编译一个第三方库……我是不太喜欢这种,因为 C++ 二进制兼容性的问题。最好是找 C 的库。 |
10
dbskcnc 2021-11-20 07:22:20 +08:00 via Android
cmake+conan, 熟悉了还可以的
|
11
Brian1900 2021-11-20 07:38:27 +08:00
对于你这个情况,建议是不用 C++ 捏,反正其他语言也能写逻辑,国企也没那么看重程序实时效率吧
|
12
mirage13 2021-11-20 07:58:02 +08:00
用 qt 啊,你说的什么计时器,日志啥的都集成了。so tm easy
|
13
hronro 2021-11-21 15:00:28 +08:00
上 Rust 啊
|
14
JSPIXiaoHei 2021-11-22 10:40:37 +08:00
怎么进国企啊 QAQ
|