gpt4 book ai didi

c++ - 有没有办法在不链接到-framework ApplicationServices 的情况下运行c 或c++ 文件?

转载 作者:行者123 更新时间:2023-11-30 19:42:36 25 4
gpt4 key购买 nike

好吧,所以我想用 make 编译我的 c++ 文件,因为里面有一个 opencv 代码。现在,我想在 Mac OS 上移动或执行光标事件。使用下面的链接,我可以在将该代码集成到我的 c++ 文件中之前成功测试光标事件函数: https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/index.html#//apple_ref/doc/c_ref/CGEventRef

所以,为了编译,我必须在终端上写下:gcc -o hello hello.c -framework ApplicationServices

然而,我有一个 C++ 文件,我只写了:制作

我的文件已创建以供执行。例如,如果我将代码与我的 c++ 文件集成,我会在终端上收到以下错误消息:

 Undefined symbols for architecture x86_64:
"_CFRelease", referenced from:
_main in hello-5d977f.o
"_CGEventCreateMouseEvent", referenced from:
_main in hello-5d977f.o
"_CGEventPost", referenced from:
_main in hello-5d977f.o
ld: symbol(s) not found for architecture x86_64

如果有人能在这方面帮助我,我将非常感激!

谢谢:)

最佳答案

您在程序中使用的一些函数是 ApplicationServices 框架的一部分。因此,您在编译应用程序时需要链接到该框架。

您可以通过在 Makefile 中包含以下内容来自动链接该框架的 make 实用程序:

LDLIBS += -framework ApplicationServices

关于c++ - 有没有办法在不链接到-framework ApplicationServices 的情况下运行c 或c++ 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31524423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com