我正在尝试编写一个dll,它基本上将用作我编程设备的接口。我们的想法是让getTemperature()和setTemperature(temp)等函数通过串口发送/接收消息。作为其中的一部分,有一个生产者 - 消费者队列,我想使用boost互斥量和条件变量。
我是dll的新手,并且已经编写了一个编译好的基本dll。当我尝试在另一个程序中使用它时,我在运行它时收到错误消息。我正在使用德国计算机,所以,消息是德语“Das Programm kann nicht gestartet werden,da libboost_system-mgw44-mt-d-1_53.dll auf dem Computer fehlt。Installieren Sie das Programm erneut,um das Problem zu beheben”。我有限的德国人告诉我这个
“程序无法启动,因为无法找到libboost_system-mgw44-mt-d-1_53.dll”
我正在使用MinGW的代码块,并将以下链接库添加到我的DLL项目以及我正在使用DLL的项目
我正在使用以下定义:
我在搜索目录中包含了boost目录
我做错了什么???我想象它与静态和动态链接有关,但是,我没有运气试图修复它
提前致谢
修改
如果我在我的dll中注释掉所有与boost相关的内容并重新编译它,我的程序就可以运行并从打印到终端的DLL中调用一个函数。
编辑2 我没有包含升级库的路径。通过将它们添加到链接器搜索目录,一切运行良好。
答案 0 :(得分:0)
libboost_system-mgw44-mt-d-1_53.dll是否适用于您的程序?这包括当前的工作目录。