- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我编写了一个小的 C 程序来访问 libgeos ( https://github.com/libgeos/geos) 函数。
#include <stdio.h>
#include "geos_c.h"
int main()
{
printf("Test");
GEOSGeometry *inputGeom = GEOSGeomFromWKT("MULTIPOLYGON (((30 20, 45 40, 10 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))");
return 0;
}
但是当我尝试编译它时,编译器给我一个错误。
ab@abc-pc:~/learn-c$ gcc geos_test.c
/tmp/ccugTUqF.o: In function `main':
geos_test.c:(.text+0x21): undefined reference to `GEOSGeomFromWKT'
collect2: error: ld returned 1 exit status
链接器似乎无法链接 libgeos。如果有人可以帮助我解决这个问题,我将不胜感激,因为我是 C 生态系统的新手。
最佳答案
来自github doco :
您需要链接到libgeos_c.a
库,例如:
gcc -g -Wall geos_test.c -o geos_test -lgeos_c
(即命令行最后一项)
这会生成一个名为 geos_test
的可执行文件,其中包含调试信息。
关于c - 如何使用 GEOS 库编译程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55586405/
这个问题在这里已经有了答案: multiple definition error c++ (2 个答案) 关闭 3 年前。 我遇到了一些编译问题,这里是详细信息: 假设我声明了一些数据结构 my_d
我正在尝试使用 lessfs 并了解它如何使用 mhash 来生成其加密指纹,所以我正在查看 mhash 以了解它如何处理哈希算法,因此我正在尝试运行中提供的一些示例程序,但我遇到了并发症和错误 我试
所以我有一个编译程序,但我有两个小问题。该程序将十六进制转换为十进制和二进制,并将其显示在这个可爱的小 GUI 中。 问题: 我想将二进制文件放入一个数组中,然后在连续的 5 个小框窗口之间传输。转换
这可能是一个很难用我实际提供的信息进行故障排除的问题,但我希望有人至少能够为我指出一个可能的方向。 我正在尝试安装 HTK ( http://htk.eng.cam.ac.uk/ ),根据 this页
我用客户端松鼠在oracle 11g中创建了一个简单的过程,这是代码 create or replace procedure EXAMPLE_P is begin 1+2; end;/ 在执行
$2有 C 文件的路径。 问题是当我编译一个有错误的文件时,它会显示错误。我不想显示错误,我只想说:“$2 无法编译。”有什么想法吗? cc $2 if test ! $? = 0
我使用安装了 Advanced Tomato 的华硕路由器(基于 ARMv7 proc)在它上面作为我的 ARMv7 开发者平台。我安装编译器 (gcc - 5.4.0-1)加上来自 OpenWRT
我想在 Linux 上用 twitter 库编译一个 C++ 程序。 我目前使用 twitcurl 作为 twitter API 库并安装了 g++ 以及官方网站上列出的所有必要文件和包:http:/
我正在尝试编译使用 libdl 库中的 API 的示例代码: #include #include #include int main(int argc, char **argv) { v
我看到很多人提示 -O3 选项: GCC: program doesn't work with compilation option -O3 Floating Point Problem provid
有如下代码: #include #include int main(void){ CURL *curl; CURLcode res; curl = curl_easy_init();
我们有一个非常重要的应用程序,但到目前为止还没有源代码。该应用程序是用 COBOL 编写的,编译版本在我们的生产系统中并正在运行。 但是,我们需要迁移到新服务器和新的 cobol 编译器。我们的印象是
我正在尝试使用一些 curl 代码来测试库,但我无法编译它:( 我正在使用 Clion (Cmake + gcc),我有一个 libcurl.a、一个 libcurl.dll 和一个 libcurl.
我使用 mingw(Windows 8 64 位,MinGW 20120426)在 Windows 上用 clang 构建了 llvm: ./configure --disable-docs --en
我在 ubuntu 下写了一个程序,其中包含 gtkmozembed.h。我在编译程序时遇到问题。下面是使用 gtkmozembed 的程序的最简单形式。 #include #include #i
我在 Ubuntu 上使用 GNAT 编译了一个 Ada 程序。 之后,我尝试使用该程序进行几次测试,它运行正常。 但是当我将它上传到我的 Apache (UNIX) 网络服务器并尝试运行该程序时,没
我正在尝试通过批处理文件使用 MinGW 编译器运行我的程序。但是当我尝试启动它时,它什么也没说。 代码如下: g++ -o Learning.exe Main.o pause 当我打开 .exe 文
我在 Windows 8 计算机 (x64) 上使用 VS2012 编写了一个 Windows 窗体应用程序,我希望它在 Windows XP x86 上运行。当我尝试运行该程序时出现错误“...不是
我在运行 ArchLinux 的系统上使用 clang 版本 4.0.0,它一直运行良好,但最近我无法再编译使用某些 STL header 的程序了! 详细信息: clang --version 的输
我有程序 main.cpp 调用其他 C++ 程序 file1.cpp、file2.cpp 和 message.txt 请问如何使用 g++ 在 Linux Ubuntu 中编写编译命令,主要不是“v
我是一名优秀的程序员,十分优秀!