2022年8月10日更新。

正常情况下,ui_xxx文件和moc_xxx文件都是自动生成的,如果没有自动生成,可能是配置问题,优先从配置方面解决问题,如果问题仍然解决不了,再考虑手动生成。

因为手动生成,有时候会跟自动生成造成冲突(重定义错误),所以建议优先从配置方面找原因,避免手动生成造成的问题,特此说明。

E:\libs\vcpkg\installed\x64-windows\bin\uic.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\CreateCDPrjDlg.ui -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ui_CreateCDPrjDlg.h
E:\libs\vcpkg\installed\x64-windows\bin\moc.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\CreateCDPrjDlg.h -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\moc_CreateCDPrjDlg.cpp
E:\libs\vcpkg\installed\x64-windows\bin\uic.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ChangeDetectDlg.ui -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ui_ChangeDetectDlg.h
E:\libs\vcpkg\installed\x64-windows\bin\moc.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ChangeDetectDlg.h -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\moc_ChangeDetectDlg.cpp
E:\libs\vcpkg\installed\x64-windows\bin\uic.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ClassifyDlg.ui -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ui_ClassifyDlg.h
E:\libs\vcpkg\installed\x64-windows\bin\moc.exe D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\ClassifyDlg.h -o D:\MyItems\CDMatrix\plugins\AutoFeatureExtracte\moc_ClassifyDlg.cpp

==============分割线=============

有时候使用vs并不能自动生成ui_xxx文件和moc_xxx文件,那么此时可以通过链接前事件自动更新文件。

具体命令如下:

E:\libs\vcpkg\installed\x64-windows\bin\uic.exe D:\MyItems\CDMatrix\Build\plugins\osgviewer\ChangeDetectDlg.ui -o D:\MyItems\CDMatrix\Build\plugins\osgviewer\ui_ChangeDetectDlg.h
E:\libs\vcpkg\installed\x64-windows\bin\moc.exe D:\MyItems\CDMatrix\Build\plugins\osgviewer\ChangeDetectDlg.h -o D:\MyItems\CDMatrix\Build\plugins\osgviewer\moc_ChangeDetectDlg.cpp

通过这样的设置,以后就能在编译的时候自动更新ui了。

更多推荐