java - JNI监听全局鼠标钩子dll用VS编译显示发现重复定义,如何修改
巴扎黑
巴扎黑 2017-04-17 10:57:17
[Java讨论组]

在做一个程序,鼠标右键按下时记录鼠标坐标,右键释放时停止记录。
按照http://dengpeng.sensorapp.net/?p=495 的方法做了一个钩子,在Code::Blocks下编译通过,但在Eclipse下调用时显示:

(Code::Blocks已在编译属性里勾选上AMD64选项:

);又用VS 2010编译,显示错误:

我对于JNI不太熟悉,请教各位我应该如何修改?为什么CodeBlocks编译通过了而VS显示“发现重复定义”?
提前感谢!

另外:如果想用Java监听全局鼠标事件,还有没有除此之外更简便的方法?

巴扎黑
巴扎黑

全部回复(1)
巴扎黑

1. -march参数不影响目标文件是否为64位(主要影响指令集,比如SSE, 3DNOW支持),-m32-m64 这两个参数才与是否生成32位或64位程序有关。你需要使用64位的MinGW编译器(可以使用这个发行版: http://tdm-gcc.tdragon.net/)。另外,还需要配置一下Code::Blocks使用64位的编译器。

2. MFC DLL不该有DllMain入口(MFC有自己的),请不要在DLL中使用MFC(你提供的例子完全不需要用MFC)。绕过该限制的方法也有,参考: http://support.microsoft.com/kb/14879...

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号