标头:没有这样的文件或目录
header: no such file or directory
我有这个 cpp 文件:
//pkgnative_tries__native_NativeSystem.cpp
#include <pkgnative_tries__native_NativeSystem.h>
#include<iostream>
using namespace std;
extern "C"
JNIEXPORT void JNICALL Java_ClassName_MethodName
(JNIEnv *env, jobject obj, jstring javaString)
{
//Get the native string from javaString
const char *nativeString = env->GetStringUTFChars(javaString, 0);
cout << nativeString;
env->ReleaseStringUTFChars(javaString, nativeString);
}
pkgnative_tries__native_NativeSystem.h:
/* DO NOT EDIT THIS FILE - it is machine generated */
#include <jni.h>
/* Header for class pkgnative_tries__native_NativeSystem */
#ifndef _Included_pkgnative_tries__native_NativeSystem
#define _Included_pkgnative_tries__native_NativeSystem
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: pkgnative_tries__native_NativeSystem
* Method: println
* Signature: (Ljava/lang/String;)V
*/
JNIEXPORT void JNICALL Java_pkgnative_tries__1native_NativeSystem_println
(JNIEnv *, jobject, jstring);
#ifdef __cplusplus
}
#endif
#endif
问题是当我尝试将其编译为 DLL 时 g++
,它说:
g++ -c -DBUILDING_EXAMPLE_DLL pkgnative_tries__native_NativeSystem.cpp
pkgnative_tries__native_NativeSystem.cpp:1:50: fatal error: pkgnative_tries__native_NativeSystem.h: No such file or directory
compilation terminated
有谁知道为什么?我确定两个文件都在同一个目录中
当您在包含中使用尖括号时(例如 #include <xyz>
),它不会在完成包含的目录中查找。改用双引号,例如 #include "xyz"
.
相关文章:
- 如何在生成文件中添加多个标头 (HDR) 和对象?
- 我可以在具有一个标头和一个接口的 cpp 文件中有多个嵌入吗?
- 是否可以使用 libclang python 解析 cpp 文件中没有标头的函数原型
- 标头,包括在 Swift 项目中使用C++文件时的错误
- 将模板类转换为标头和 cpp 文件
- C++ VS 错误:<实验/文件系统>提供 std::experimental::文件系统的标头已被Microsoft弃用,将被删除
- C++ 中的 CSV 文件管理(特别是设置标头和每个标头将分别具有的值)
- 标头保护文件中结构的重复符号
- 包含常量变量并包含在多个文件中的标头的链接错误
- 我的项目中某些仅标头文件不能包含使用 CMake 和 Vscode 的"SFML/Graphics.hpp"
- 编译包含LLVM API标头的C++文件时出错
- CMake:如何在包含的标头更改时自动重建 .obj 文件
- 解析.msg文件的标头流中的日期
- 如何将第三方 dll、标头和库文件与 Node N-API 一起使用
- 从包含 IP 标头片段的二进制文件中读取结构的最佳方法是什么
- g++ 生成依赖项文件缺少用户定义的标头
- 包含适当的标头时,实现文件中的多个定义出错
- 为什么 boost 文件系统和 libpq-fe 标头不会在同一个文件中编译
- 从.cpp文件中定义标签(在标头中)
- 没有这样的文件(标头文件)错误