程序从linux 移植到 windows 出问题.mingw+msys

发布于 2022-07-21 18:53:21 字数 1395 浏览 9 评论 3

我有一个ffmpeg修改后的程序在linux 下可以编译运行,用mingw+msys移植到windows 后。编译<bit/socket.h> <sys/socket.h> 这两个文件总是出错,好几十行代码出现  
parse erro    __uint_64    undefined refernce 等
                            parse erro before " {"  token
                                          parse erro before "*" token

../mysql/include/mysql.h:789: parse error before '*' token
../mysql/include/mysql.h:790: parse error before '*' token
../mysql/include/mysql.h:791: parse error before '*' token
../mysql/include/mysql.h:792: parse error before '*' token
../mysql/include/mysql.h:794: parse error before '*' token
../mysql/include/mysql.h:795: parse error before '*' token
../mysql/include/mysql.h:796: parse error before '*' token
../mysql/include/mysql.h:797: parse error before '*' token
../mysql/include/mysql.h:798: parse error before '*' token
..........

                       但是这些代码在linux 下是可以编译的。

问题是不是出在不同平台的宏定义不一样,那请问怎么解决啊.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

与他有关 2022-07-22 19:36:21

还有一个问题 如果我想在 windows 下使用mysql  的库进行 C 开发。应该从哪里找到mysql 的库。 我有 linux 下的mysql 静态库   都以 .a 结尾 怎么使用它们呢? 谢谢?

难忘№最初的完美 2022-07-22 05:45:23

原帖由 missiles 于 2006-4-27 10:41 AM 发表
再说一个编译遇到的问题。在linux 下可以编译移植到windows 下用mingw + msys  编译出错。提示如下:
    In file included from c:/mingw/include/pthread.h:659,
                             from tack_mt. ...

CSDN 的 “大雪” 师傅给的答案

只能说是给点建议。

看上去像是__sigset_t没有定义,这个应该在
/usr/include/bits/sigset.h

你看看这个文件存在否,
是否有__sigset_t的定义
是否被pthread.h包含

---------------------------
  按他说的方法可以编译运行,很感谢。
      我的一点初步想法, linux 和 mingw 的库结构,库内的文件是不一样的,所以在linux 下可以编译,到 mingw 下就不能编译了。水平不高,大家有好的想法可以说一说啊 。
      可是,如果要按这个方法改mingw的库里的头文件,工作量太大了,因为我的程序里用了sql  socket 的库。 用cygwin怎么样?正在试。谢谢。

回忆追雨的时光 2022-07-21 20:03:20

再说一个编译遇到的问题。在linux 下可以编译移植到windows 下用mingw + msys  编译出错。提示如下:
    In file included from c:/mingw/include/pthread.h:659,
                             from tack_mt.h:25,
                             from tack_mt.c:21:
c:/mingw/include/bits/sigthread.h:32: parse error before  '*' token
make: *** [tack_mt.o] Error 1

sigthread.h:32: 的代码摘录如下.

31:                                         extern int pthread_sigmask (int __how,
32:                            __const __sigset_t *__restrict __newmask,
33:                            __sigset_t *__restrict __oldmask)__THROW;

    给些建议吧,谢谢先。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文