使用VisualGDB在windows上编写linux程序(centos)遇到的问题 - Go语言中文社区

使用VisualGDB在windows上编写linux程序(centos)遇到的问题


1、编写多线程程序时,报错: undefined reference to `pthread_create',需要在设置中加上多线程的库.


2、使用自己编写的静态库时,需要在Addtional linker inputs中输入使用的库,include drectories中输入头文件路径:


3、使用动态库

我们可以在 ~/.bashrc 或者 ~/.bash_profile 中加入 export 语句,前者在每次登陆和每次打开 shell 都读取一次,后者只在登陆时读取一次。我的习惯是加到 ~/.bashrc 中,在该文件的未尾,可采用如下语句来使设置生效:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib   64位放在/usr/lib64下
然后把我们生成的动态库(或第三方库)拷贝到/usr/lib   64位放在/usr/lib64下
即可
设置如下图:
动态库工程设置:
可执行文件工程设置:

Library names中不需要输入libtest_shared.so只需要输入test_shared即可,同时对该设置保存时,有时会报错找不到目录下的***.so文件,如果确定该目录下确实存在该
文件,那么点击“ignore”即可
注:
1、也可以在centos终端用gcc/g++ 进行编译  g++ xxx.cpp xxx.so -o xxx,支持线程则g++ xxx.cpp xxx.so -o xxx -lpthread
2、
弄了很久最后发现一个简单的方法!!!!...工程属性->依赖库->选择依赖态库/动态库工程即可!!此种方法对于使用我们自己生成的库比较方便

4、使用VisualGDB编译链接skynet,运行程序时提示函数未定义.
   原来是Makefile setting -> LDFLAGS为"-Wl,-gc-sections",而-gc-sections会使ld删除没有被使用的section,所以这里需要设置成"-Wl,-E"即可,当然设置的位置是
   需要导出此未定义函数定义的工程,其它地方不用管

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/woshiyuanlei/article/details/71844644
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-05 14:23:19
  • 阅读 ( 1885 )
  • 分类:数据库

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢