我正在开发Gstreamer插件,如果这很重要的话。我有一个C++ cmake项目,它在Visual Studio中打开。项目被识别和构建。但它只有库目标,它们都列在“选择启动项”组合框中。
我想配置一些目标或配置Dll目标,使其成为可启动的,这样我就可以调试我的源运行Gstreamer控制台管道,这将间接使用我的库。
我假设我应该配置launch.vs.json,但不知道如何正确地做。在我选择一个Dll作为活动库之后,然后VS创建新的配置:
{
"type": "dll",
"exe": "",
"project": "CMakeLists.txt",
"projectTarget": "gstdecmpa.dll (build\\gst_sdk_win64_x64_build_debug\\lib\\gstreamer-1.0\\gstdecmpa.dll)",
"name": "gstdecmpa.dll (build\\mc_gst_sdk_win64_x64_build_debug\\lib\\gstreamer-1.0\\gstdecmpa.dll)"
},
我还尝试添加另一个配置:
{
"project": "CMakeLists.txt",
"name": "MyCustomApp",
"type": "cppvsdbg",
"request": "launch",
"program": "gst-launch-1.0",
"args": [
"arg1",
"arg2"
]
},
但是最后一个启动了我的一个测试,它存在于project中,而不是“gst-launch-1.0”
我可以通过修改第一个或第二个配置来实现我的目标吗?或者其他方法?
请告诉我如何创建可发射的目标与任意应用程序或至少指出我正确的方向!
2条答案
按热度按时间oyjwcjzk1#
我通过使用cmake生成.sln来实现这个目标。
在.sln中我可以正确设置目标。
但仍然不是理想的解决方案。项目看起来不方便,它看起来更像是工作而不是直接的方法。
ni65a41a2#
您可以使用Visual Studio特定的变量
VS_STARTUP_PROJECT
和VS_DEBUGGER_COMMAND
来完成此操作。例如: