习惯了用delphi,在ubuntu上编程时,自然想到用lazarus,以前在windows上也用lazarus编译64位dll或exe,不想转到linux上却踩了不少坑。权当记录,让跟我一样的菜鸟少走些弯路。
由于要调用linux的一些系统函数,于是用c写了一个so库,但在lazarus里却总是调用报错。
一开始因为任意给库取了个名,结果编译总是报错/usr/bin/ld.bfd: 找不到 -lluxcom,几天的搜索阅读,才知道linux的so库一定要用lib开头/流汗。
编译通过了,调试又不断报错。
又找了一堆的例子学习,结果发现linux的库缺省不在当前目录下搜索,要拷贝到系统缺省目录/usr/lib或/lib下才能找到。可lazarus却并不会提示找不到so库,在控制台运行程序才会有提示。
对于习惯windows编程的人来说,linux的规则真考验智商。
最后再安利一个教训,lazarus的资料百度是搜索不到有用的东西的,试试bing其它搜索引擎吧。