LINK : fatal error LNK1104: cannot open file 'E:\Program Files\OpenNI2\Lib\.obj'
路徑中出現 \.obj,明顯非預期文件名。
項目屬性 > Linker > Input > Additional Dependencies 中包含了錯誤的宏/路徑,導致展開為 OpenNI2\Lib\.obj。常見原因:
$(OpenNI2_LIB) 定義為目錄而非具體 .lib 文件;\* 或 \.obj;%(LibraryPath) 等枚舉宏,展開包含目錄對象文件。Properties > Linker > Input > Additional Dependencies;Edit,檢查每一行;OpenNI2.lib)或**帶路徑的完整文件名** (如 E:\Program Files\OpenNI2\Lib\OpenNI2.lib);Linker > General > Additional Library Directories 包含 E:\Program Files\OpenNI2\Lib (目錄,無文件名);// Additional Library Directories
E:\Program Files\OpenNI2\Lib
// Additional Dependencies
OpenNI2.lib
// 若有其他依賴
// kernel32.lib
// user32.lib
OpenNI2_DIR=E:\Program Files\OpenNI2,則 Additional Library Directories: $(OpenNI2_DIR)\LibAdditional Dependencies: OpenNI2.lib;C/C++ > Code Generation > Runtime Library (MD/MT/MDd/MTd) 需與 OpenNI 編譯選項一致。LNK1104 cannot open file '...\.obj' 表明鏈接器試圖打開目錄下的對象文件,**必為 Additional Dependencies 配置錯誤**。清理該列表,僅保留具體 .lib 文件名,目錄放入 Library Directories,即可解決。