我正在尝试从C++运行jar文件
我写了这段代码:
#include "stdafx.h"
#include <iostream>
#include <strsafe.h>
#include <stdexcpt.h>
#include "jni.h"
#include <conio.h>
#include <Windows.h>
using namespace std;
#pragma comment (lib,"C:\\Users\\Hilla\\Documents\\Visual Studio 2012\\helloworld\\helloworld\\jvm.lib")
int main()
{
JavaVM *jvm;
JNIEnv *env;
JavaVMInitArgs vm_args;
JavaVMOption options[3];
options[0].optionString = "-Djava.compiler=NONE";
options[1].optionString="-Djava.class.path=C:\\Users\\Hilla\\Documents\\Visual
Studio 2012\\helloworld\\Debug\\hello.jar";
options[2].optionString="verbose.jni";
vm_args.version=JNI_VERSION_1_6;
vm_args.nOptions=3;
vm_args.options=options;
vm_args.ignoreUnrecognized=0;
int ret=JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
printf("hilla");
}我使用x64编译器。我将JVM lim添加到系统路径。
它仍然给了我这个错误:
'helloworld.exe‘(Win32):加载’C:\User\Hilla\Documents\Visual 2012\helloworld\x64\Debug\helloworld.exe‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\ntdll.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\kernel32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\KernelBase.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载的'C:\Program’无法找到或打开PDB文件。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\msvcp110d.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\msvcr110d.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\user32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\Advapi32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\wsock32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\winmm.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\psapi.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\msvcr100.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\gdi32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\msvcrt.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\sechost.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\rpcrt4.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\WS2_32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\winmmbase.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\nsi.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\cfgmgr32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\devobj.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\μ32.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\msctf.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\nvinitx.dll‘。无法找到或打开PDB文件。 'helloworld.exe‘(Win32):加载'C:\Program \NVIDIA\coprocmanager\deoured.dll’。无法找到或打开PDB文件。'helloworld.exe‘(Win32):加载'C:\Program \NVIDIA\coprocmanager\Nvd3d9Wrapx.dll’。无法找到或打开PDB文件。 'helloworld.exe‘(Win32):加载’C:\Windows\System32 32\setuPapi.dll‘。符号已加载。 'helloworld.exe‘(Win32):加载'C:\Program \NVIDIA\coprocmanager\nvdxgiWrapx.dll’。无法找到或打开PDB文件。程序'7688 helloworld.exe‘与代码0 (0x0)一起退出。
我怎么才能解决这个问题?
发布于 2018-09-21 06:29:01
PDB是Visual使用的调试信息文件。这些是系统DLL,您没有调试符号。转到Tools->Options->Debugging->Symbols并选中Microsoft Symbol Servers复选框,Visual将自动下载PDB。
请阅读为VS 2010 here发布的类似问题
https://stackoverflow.com/questions/20815475
复制相似问题