Visual c++ 静态库依赖关系 我需要对C++静态链接进行一些基本的说明。我有一个名为data_client.lib的文件。库文件a.exe、b.exe和c.exe有三个独立使用者。有一个名为data_server.exe的服务,data_client.lib是该服务的接口。实际上,我为data_server.exe添加了另一个函数,并为data_client.lib添加了相应的接口。因为只有a.exe需要额外的功能,所以我只构建a.exe。我将data_server.exe、data_client.exe和a.exe作为补丁发送。现在,b.exe和c.exe随机/不一致地崩溃

Visual c++ 静态库依赖关系 我需要对C++静态链接进行一些基本的说明。我有一个名为data_client.lib的文件。库文件a.exe、b.exe和c.exe有三个独立使用者。有一个名为data_server.exe的服务,data_client.lib是该服务的接口。实际上,我为data_server.exe添加了另一个函数,并为data_client.lib添加了相应的接口。因为只有a.exe需要额外的功能,所以我只构建a.exe。我将data_server.exe、data_client.exe和a.exe作为补丁发送。现在,b.exe和c.exe随机/不一致地崩溃,visual-c++,crash,static-libraries,Visual C++,Crash,Static Libraries,mfc42u!CEException::`RTTI已完成 对象定位器“+0x10” 这有意义吗?如果我还构建了b.exe和c.exe,则不会发生崩溃。这就是它的工作方式吗?可能您没有明确的依赖项,但是您的一些项目头使用了,或者将信息隐式地放入了您的库中。我不知道这个错误,但是您的应用程序b.exe和c.exe正在使用较旧版本的绑定库与较新版本的data_server.exe进行通信。如果添加函数,某些v_表索引可能会关闭或出现其他问题。你必须重建所有的库 实际上,我为data_server.ex

mfc42u!CEException::`RTTI已完成 对象定位器“+0x10”


这有意义吗?如果我还构建了b.exe和c.exe,则不会发生崩溃。这就是它的工作方式吗?

可能您没有明确的依赖项,但是您的一些项目头使用了,或者将信息隐式地放入了您的库中。

我不知道这个错误,但是您的应用程序b.exe和c.exe正在使用较旧版本的绑定库与较新版本的data_server.exe进行通信。如果添加函数,某些v_表索引可能会关闭或出现其他问题。你必须重建所有的库

实际上,我为data_server.exe添加了另一个函数,并为data_client.lib添加了相应的接口

从这里我们有点不清楚到底是什么添加到了你的库中。但是,如果它是一个或多个添加到类中的新方法(而不仅仅是一些新的独立函数),则重新编译所有内容很有可能解决您的问题。您所做的更改可能会或可能不会使系统失控


也有可能你的车祸与此完全无关,还有其他一些问题正在发生。。。但从你的描述来看,我的钱是在一个不稳定的问题上。如果是我,我会重新编译b.exe和c.exe,并在调查其他问题之前再次测试。

是的,新方法已添加到现有类中。