Regex-2.7 for Windows 静态编译

aaa110110 2012-12-04 11:40:15
Regex-2.7 for Windows 这个不用我说了吧,大家都知道,项目地址是:
http://gnuwin32.sourceforge.net/packages/regex.htm

下载下来之后,里面有几个文件夹:
bin目录:
有一个 regex2.dll

include目录:
regex.h

lib目录:
libregex.la(貌似和libtool有关)
libregex.dll.a
regex2.def(貌似和libtool有关)
regex.lib
regex-bcc.lib

现在在dev-c++ 中添加头文件目录include, 库文件目录lib, 然后写一个简单的c程序,include 一下regex.h 就能使用正则表达式了,编译成功。可是有个问题,编译之后的exe运行的时候弹出提示:
“没有找到regex2.dll"



如果不是也dev-c++, 直接用gcc(我安装了mingw)编译, 带上参数 -lregex 或者带上参数-lregex.dll 都能编译通过。可是运行的时候都弹出提示,找不到regex2.dll. 如果把bin目录下面的regex2.dll拷贝到同目录下,则程序能正常运行。我现在有3个疑问:
1. 如果静态编译这个简单的c程序呢,就是把regex库静态链接进来,我在gcc编译的时候试过了带上 -static参数,都不行。
2. 为什么带上-lregex 或者带上参数-lregex.dll 都能编译通过?lib目录下面并没有libregex.a
3. libregex.la(貌似和libtool有关)
regex2.def(貌似和libtool有关)
这两个文件我都删除了,还是能编译通过,但是依然提示找不到regex2.dll, 我很奇怪编译器是怎么
知道依赖的库的名字是叫 regex2.dll呢?


注:regex.h 头文件前面部分内容如下:


#ifndef _REGEX_H
#define _REGEX_H 1

#include <sys/types.h>

#ifndef __GNUC__
# define __DLL_IMPORT__ __declspec(dllimport)
# define __DLL_EXPORT__ __declspec(dllexport)
#else
# define __DLL_IMPORT__ __attribute__((dllimport)) extern
# define __DLL_EXPORT__ __attribute__((dllexport)) extern
#endif

#if (defined __WIN32__) || (defined _WIN32)
# ifdef BUILD_REGEX_DLL
# define REGEX_DLL_IMPEXP __DLL_EXPORT__
# elif defined(REGEX_STATIC)
# define REGEX_DLL_IMPEXP
# elif defined (USE_REGEX_DLL)
# define REGEX_DLL_IMPEXP __DLL_IMPORT__
# elif defined (USE_REGEX_STATIC)
# define REGEX_DLL_IMPEXP
# else /* assume USE_REGEX_DLL */
# define REGEX_DLL_IMPEXP __DLL_IMPORT__
# endif
#else /* __WIN32__ */
# define REGEX_DLL_IMPEXP
#endif

/* Allow the use in C++ code. */
#ifdef __cplusplus
extern "C" {
#endif
...全文
427 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
pbsoftmml 2015-02-07
  • 打赏
  • 举报
回复
撸主找到解决的办办法了吗?俺也碰到这个问题了
向立天 2013-01-03
  • 打赏
  • 举报
回复
没搞过这个 应该有makefile吧 关于人气 不可强求 解决问题的启示最后还是我们自己
Kaile 2013-01-02
  • 打赏
  • 举报
回复
CSDN或者说MFC版块现在人都跑光了
aaa110110 2013-01-02
  • 打赏
  • 举报
回复
真让人失望啊,人气差到这个地步,我无语了。。。

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧