記錄一下OPNET安裝和使用過程中各種奇葩的報錯。
1. 安裝路徑不能有空格
<<< Recoverable Error >>>
Object repository construction failed
due to errors encountered by the binder program (bind_so_msvc)
T (0), EV (-), MOD (NONE), PROC (sim_load_repos_rebuild)
----
Errors reported by the binder program follow
(these messages have been saved in (C:\Users\lwx\op_admin\tmp\bind_err_10024):
LINK : fatal error LNK1181: cannot open input file "Files\OPNET\14.5.A\sys\pc_intel_win32\lib.obj"
----
<<< Program Abort >>>
Error encountered rebuilding repository -- unable to proceed
T (0), EV (-), MOD (NONE), PROC (sim_load_repos_load)
問題主要是OPNET使用了link選項:/LIBPATH:C:\Program Files\OPNET\14.5.A\sys\pc_intel_win32\lib
然而其中沒有使用雙引號,vc的link.exe並不能很好的識別中間的空格就把“Files\OPNET\14.5.A\sys\pc_intel_win32\lib”當做了一個obj文件。
所以最簡單的方法就是卸載OPNET重裝,保證路徑中沒有空格,比如說C:\Program\OPNET\14.5.A\sys\pc_intel_win32\lib,就沒問題了。
做了很多不需要重裝的嘗試,最後發現還是重裝最省時間。重裝一定刪掉%USERPROFILE%文件夾下面的以op_開頭的文件夾,不然卸載不乾淨。但是op_models裏面那些模型都要保存,都是勞動成果。
PS:或許更改op_admin \ env_db14.5裏面的路徑也是一種方法,不過麻煩,也沒試過
2. 以管理員權限運行破解和主程序
正常安裝和破解後,顯示有1000個license,但是license file is invalid,
破解和運行OPNET時都要以管理員權限運行
3.
測試環境:Windows10 64bit、OPNET14.5、VC++6.0
在OPNET14.5和VC++6.0環境變量設置正確的情況下,在OPNET程序無誤的情況下,我執行DES仿真時(Development模式)提示:
<<< Recoverable Error >>>
Object repository construction failed
due to errors encountered by the binder program (bind_so_msvc)
T (0), EV (-), MOD (NONE), PROC (sim_load_repos_rebuild)
----
op_win_stdio_patch.obj : fatal error LNK1103: debugging information corrupt; recompile module
----
<<< Program Abort >>>
Error encountered rebuilding repository -- unable to proceed
T (0), EV (-), MOD (NONE), PROC (sim_load_repos_load)
----
需要注意的是DES仿真時選擇Optimized模式並沒有出現問題,通過搜索找到了解決問題的方法:
使用Microsoft Visual C++ 6.0可能會見到這個問題,解決辦法如下:
將目錄 <install_dir>\14.5.A\sys\pc_intel_win32\lib 下的兩個文件重命名(14.5.A是你的OPNET版本號):
1、op_win_stdio_patch.obj 改名爲: op_win_stdio_patch.vc7.obj
2、op_win_stdio_patch.vc6.obj 改名爲: op_win_stdio_patch.obj
注意,務必按上述順序改動。(by 百思@ Adultf )