C::B中如何自定义wxWidgets库的引用 Topic is solved

这是wxWidgets论坛的中文版本。在这里,您可以用您的母语汉语讨论上面任一子论坛所涉及的所有关于wxWidgets的话题。欢迎大家参与到对有价值的帖子的中英互译工作中来!
Post Reply
evilparole
Knows some wx things
Knows some wx things
Posts: 39
Joined: Sat Aug 09, 2008 6:06 am

C::B中如何自定义wxWidgets库的引用

Post by evilparole »

大家好!~~
我现在的想法是这样的,我在本机上开发的程序,本机上装好了wxWidgets和C::B,现在我编译后生成了.exe文件,我像要这个.exe能在别人的机器上也能使用,做法是在一个文件下面将要用的wxWidgets放进去,然后将这个文件与.exe放在同一个文件中,一起复制到别的机器上,

现在的问题是:wxWidgets要拷哪一个文件?
在C::B中如何设置,使的编译程序的时候用我自已的这个文件下的wxWidgets库
Utensil
Moderator
Moderator
Posts: 423
Joined: Sun Feb 03, 2008 11:38 am
Location: China

Post by Utensil »

是你自己编译的wxWidgets吧?编译的是动态版本吧?你编译时的选项是单个整库,还是分散成wxbase等一堆库?

当你在C::B中创建一个wxWidgets工程时,你会指定wxWidgets所在的位置,如C:\wxWidgets,C::B会自动在里面的lib目录下找相应的库来链接,对于VC是.lib,对于gcc是.a,他们是对应着相应的dll的(也在lib目录下),所以,当你在CB里运行,CB自动为你找到了相应的dll,这样你的程序才起来了。你先试着在你自己机上不用C:B,运行一下你的exe先,你会发现缺dll,你把lib下的dll,复制到和你的exe在一起试试。

至于让C::B用你程序目录下的dll,是不可能的,从原理上讲也是不必要的。除非你不是新建wxWidgets工程,而是新建一个什么都没有的工程,然后自己改的编译选项。

-Utensil
In fascination of creating worlds by words, and in pursuit of words behind the world.

On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
evilparole
Knows some wx things
Knows some wx things
Posts: 39
Joined: Sat Aug 09, 2008 6:06 am

OK

Post by evilparole »

恩,把相应的DLL拷进去就可以了,不过如果到别的机器上,没有安装任何与wxWidgets的东西,还要把C::B中的mingwm10.dll拷过去,

mingwm10.dll应该是一个编译用的东西吧,为什么还要这个东西了?有点不明白,,,
Utensil
Moderator
Moderator
Posts: 423
Joined: Sun Feb 03, 2008 11:38 am
Location: China

Post by Utensil »

其实这个不算是编译时用的。只要是用MinGW编译的程序,运行时都会需要这个DLL。我的理解是,里面装了一些Windows下没有(Linux下才有)的库函数实现。
In fascination of creating worlds by words, and in pursuit of words behind the world.

On Github: http://utensil.github.com
Technical Blog in Chinese: http://utensil.iteye.com/
evilparole
Knows some wx things
Knows some wx things
Posts: 39
Joined: Sat Aug 09, 2008 6:06 am

evil

Post by evilparole »

谢谢老版的帮助!~:)
ollydbg23
Super wx Problem Solver
Super wx Problem Solver
Posts: 438
Joined: Fri Dec 12, 2008 10:31 am

Post by ollydbg23 »

Utensil wrote:其实这个不算是编译时用的。只要是用MinGW编译的程序,运行时都会需要这个DLL。我的理解是,里面装了一些Windows下没有(Linux下才有)的库函数实现。
这个解释不错,谢谢,很有收获。
Loaden
I live to help wx-kind
I live to help wx-kind
Posts: 177
Joined: Tue Feb 19, 2008 10:21 am
Location: China

Post by Loaden »

Utensil wrote:其实这个不算是编译时用的。只要是用MinGW编译的程序,运行时都会需要这个DLL。我的理解是,里面装了一些Windows下没有(Linux下才有)的库函数实现。
不是的。如果加上-static链接选项,就可以去掉这个dll了。我更觉得这是一种标志性DLL。
Life is not fair, get used to it.
Post Reply