如果我将静态库定位到 link,OMNeT++ 模拟器不会更新
OMNeT++ Simulator doesn't update if I target static library to link
我是 OMNeT++ 的新手,我正在尝试 link Crypto++5.6.5 到 OMNeT++5.1.1。 OMNeT++ 似乎允许我 link Crypto++ 库的唯一方法是使用 Crypto++ 库的静态版本,如下所述:
- 右击Project->Properties->OMNeT++->Makemake->Option,从"Target"我选择"Static Library(.lib or .a)"
- 从"Compile"我选择cryptlib.lib所在的目录(C:\cryptopp565\Win32\DLL_Output\Debug)
- 从 "Link" 我选择附加库 "cryptlib"。 (实际的库文件是"cryptlib.lib")
我所有的加密错误都消失了(所以我的加密库似乎是 linked)我可以 运行 模拟器,但问题是当我 运行模拟,从我之前 运行 模拟器开始,模拟还没有更新。我知道我看到模拟器 运行 我以前(旧)版本的项目,在我包含静态库之前,因为即使我使用 "EV<<..." 更改了调试输出,我的旧调试输出仍在播放.
我不认为将加密放入模拟器是个好主意,但无论我连接哪个库,这个静态库执行旧模拟器问题似乎都会发生。只要我从 Target makemake 页面 select "Static Library(.lib or .a)" ,即使我不包含静态库,模拟器也不会更新。当我回到 "Target Type"->"Executable" 和 build/run 模拟器(并摆脱我的 link 并编译为 cryptlib)时,最新的项目得到模拟,但我的加密库没有 linked。
任何人都可以帮助我修复我的设置,以便当我以静态库为目标时,OMNeT++ 模拟器 运行 是我最近构建的项目吗?
Here's a picture of how I target static library
Here are h files included in my .cc file
这里有些混乱。根据您附加的图像,您切换了项目以创建静态库。静态库不可执行,因此我不确定您实际上 运行ning 是什么。在构建过程结束时,您将获得 Anotherthy.a 文件,但这只是一个库,您将来有时可以 link 到其他可执行文件。
因此(即没有生成可执行文件)您可能 运行正在使用您创建的最后一个可执行文件(在切换到静态库之前)。长话短说:
您必须构建一个可执行文件或至少一个共享库才能运行它...静态库不行。
至于原来的问题,如果我没看错的话,你是想link一个32位的crypto++库?因为 OMNeT++ 5.1 只有 64 位。
我是 OMNeT++ 的新手,我正在尝试 link Crypto++5.6.5 到 OMNeT++5.1.1。 OMNeT++ 似乎允许我 link Crypto++ 库的唯一方法是使用 Crypto++ 库的静态版本,如下所述:
- 右击Project->Properties->OMNeT++->Makemake->Option,从"Target"我选择"Static Library(.lib or .a)"
- 从"Compile"我选择cryptlib.lib所在的目录(C:\cryptopp565\Win32\DLL_Output\Debug)
- 从 "Link" 我选择附加库 "cryptlib"。 (实际的库文件是"cryptlib.lib")
我所有的加密错误都消失了(所以我的加密库似乎是 linked)我可以 运行 模拟器,但问题是当我 运行模拟,从我之前 运行 模拟器开始,模拟还没有更新。我知道我看到模拟器 运行 我以前(旧)版本的项目,在我包含静态库之前,因为即使我使用 "EV<<..." 更改了调试输出,我的旧调试输出仍在播放.
我不认为将加密放入模拟器是个好主意,但无论我连接哪个库,这个静态库执行旧模拟器问题似乎都会发生。只要我从 Target makemake 页面 select "Static Library(.lib or .a)" ,即使我不包含静态库,模拟器也不会更新。当我回到 "Target Type"->"Executable" 和 build/run 模拟器(并摆脱我的 link 并编译为 cryptlib)时,最新的项目得到模拟,但我的加密库没有 linked。
任何人都可以帮助我修复我的设置,以便当我以静态库为目标时,OMNeT++ 模拟器 运行 是我最近构建的项目吗?
Here's a picture of how I target static library
Here are h files included in my .cc file
这里有些混乱。根据您附加的图像,您切换了项目以创建静态库。静态库不可执行,因此我不确定您实际上 运行ning 是什么。在构建过程结束时,您将获得 Anotherthy.a 文件,但这只是一个库,您将来有时可以 link 到其他可执行文件。
因此(即没有生成可执行文件)您可能 运行正在使用您创建的最后一个可执行文件(在切换到静态库之前)。长话短说:
您必须构建一个可执行文件或至少一个共享库才能运行它...静态库不行。
至于原来的问题,如果我没看错的话,你是想link一个32位的crypto++库?因为 OMNeT++ 5.1 只有 64 位。