jrk*_*jrk 6 c++ gcc ocaml build gcc-warning
在编译OCaml项目时,该项目链接到需要C++标准库的库(例如LLVM的OCaml绑定),使用GCC> = 4.4 的-cc g++参数ocamlc生成以下形式的极其详细的警告:
warning: deprecated conversion from string constant to ‘char*’
Run Code Online (Sandbox Code Playgroud)
如何删除这些警告?
问题源于ocamlc生成中间C代码,当使用较新版本的GCC在C++模式下编译时会触发警告.但是这个生成的代码不需要编译为C++.传递-cc g++这种针对包装C++库构建的常见情况的唯一原因是确保构建C++标准库依赖项.避免使用C++前端编译ocamlc中间代码的简单解决方案很简单:
-cclib -lstdc++
Run Code Online (Sandbox Code Playgroud)
它强制链接生成的C代码libstdc++,同时仍以纯C模式编译它.
| 归档时间: |
|
| 查看次数: |
1493 次 |
| 最近记录: |