我使用Code :: Blocks在C++中创建了一个简单的程序.
如果我从Code :: Blocks运行它,它可以正常工作; 但如果我通过双击可执行文件来运行它,会弹出一个窗口,显示以下消息:
程序无法启动,因为您的计算机缺少libgcc_s_dw2-1.dll.
尝试重新安装该程序以解决此问题.
那么,问题是什么?我该怎么做才能修复它?
我刚刚安装了带有C++包的NetBeans 7.0.它要求C++编译器 - 我安装了MinGW.我将它添加到NetBeans(因此它识别它).我认为这一切都是正确的......
我在main.cpp中编写了非常简单的C++应用程序并尝试编译它...
#include <cstdlib>
#include <iostream>
int main( int argc, char** argv ) {
std::cout << "Hello, world!";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它抱怨"Make Command"(在工具 - >选项 - > C/C++ - >构建工具下).我试图修复它并在那里键入C:\ MinGW\msys\1.0\bin\make.exe.我试着再次编译它!这是错误信息......
Run Code Online (Sandbox Code Playgroud)"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf make[1]: Entering directory `/c/Users/admin/Documents/C++/helloWorld' "/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/helloworld.exe make[2]: Entering directory `/c/Users/admin/Documents/C++/helloWorld' make[2]: mkdir: Command not found mkdir -p build/Debug/MinGW-Windows make[2]: *** [build/Debug/MinGW-Windows/main.o] Error 127 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 make[2]: …
我正在尝试使用JNI并获取java.lang.UnsatisfiedLinkError.与其他关于此问题的其他百万问题不同,我在我的路径上有lib,甚至在我删除它时看到异常更改.我确定我创建的DLL有问题,但我不确定是什么.
这是我的java类代码:
package com;
public class Tune {
static {
System.loadLibrary("lala");
}
public static void main(String[] args) {
Tune j = new Tune();
System.out.println("2+6="+j.add(2, 6));
}
native public int add(int x,int y);
}
Run Code Online (Sandbox Code Playgroud)
这是我的javah生成的头文件的删节部分:
/*
* Class: com_Tune
* Method: add
* Signature: (II)I
*/
JNIEXPORT jint JNICALL Java_com_Tune_add
(JNIEnv *, jobject, jint, jint);
Run Code Online (Sandbox Code Playgroud)
这是我的c ++代码:
#include <jni.h>
#include <com_Tune.h>
JNIEXPORT jint JNICALL Java_com_Tune_add
(JNIEnv * env, jobject obj, jint x, jint y) {
return x+y;
}
Run Code Online (Sandbox Code Playgroud)
这是我从eclipse获得的运行时异常:
Exception in …Run Code Online (Sandbox Code Playgroud) c++ java java-native-interface codeblocks unsatisfiedlinkerror