安装libburn成功后 没有burn/burn.h
时间: 2023-08-02 07:08:14 浏览: 65
如果你在安装 libburn 库后无法找到 `<burn/burn.h>` 头文件,可能是因为该头文件没有被正确安装。你可以尝试以下方法来解决这个问题:
1. 检查 libburn 库的安装路径
在终端中输入以下命令来查找 libburn 库的安装路径:
```
dpkg -L libburn-dev | grep burn.h
```
这个命令会列出 libburn-dev 包中所有的文件,并在其中查找 `burn.h` 文件。如果找到了 `burn.h` 文件,那么它的路径就是 libburn 库的安装路径。
2. 添加 libburn 库的安装路径到编译器的搜索路径
一旦你找到了 libburn 库的安装路径,你可以将它添加到编译器的搜索路径中。例如,如果你找到了 `burn.h` 文件在 `/usr/local/include/burn/burn.h`,那么你可以在编译你的代码时使用 `-I` 参数来添加这个路径,例如:
```
gcc -o my_program my_program.c -I/usr/local/include
```
这个命令会将 `/usr/local/include` 目录添加到编译器的搜索路径中,这样编译器就可以找到 `burn.h` 文件。
希望这可以帮助到你!
相关问题
#include <burn/burn.h> 跟#include <libburn/libburn.h>的区别
`<burn/burn.h>` 和 `<libburn/libburn.h>` 都是 libburn 库提供的头文件,它们的主要区别在于包含的内容不同。
`<burn/burn.h>` 包含了 libburn 库的主要功能,如刻录、擦除、读取等。使用这个头文件,你可以访问 libburn 库提供的大部分功能。
而 `<libburn/libburn.h>` 则包含了更多 libburn 库的辅助功能,如日志、设备信息等。这个头文件提供了更多的选项和功能,但也会导致代码变得更加复杂。
在一般情况下,如果你只需要使用 libburn 库的基本功能,那么使用 `<burn/burn.h>` 就足够了;如果你需要更多的选项和功能,那么可以考虑使用 `<libburn/libburn.h>`。
需要注意的是,在使用 libburn 库时,你需要在程序中链接 libburn 库。在使用 `<burn/burn.h>` 时,链接的库名为 `-lburn`;在使用 `<libburn/libburn.h>` 时,链接的库名为 `-llibburn`。例如,使用 `<burn/burn.h>` 的程序可以通过以下命令进行编译:
```
gcc -o my_program my_program.c -lburn
```
而使用 `<libburn/libburn.h>` 的程序则可以通过以下命令进行编译:
```
gcc -o my_program my_program.c -llibburn
```
libburn.h中struct burn_drive
在 libburn.h 中,struct burn_drive 是一个结构体,用于描述一个可写光盘驱动器的属性和状态。它包含了驱动器的一些基本信息,如驱动器的名称、类型、状态等,同时也包含了一些操作驱动器的函数指针,如读、写、检测、清除等。这个结构体的定义如下:
```
struct burn_drive {
char *name;
char *vendor;
char *model;
int type;
int status;
int media_status;
int speed;
int mmc_profile;
int mmc_capabilities;
int feature_set;
int load_eject;
int tray_open;
int blank_state;
int writable;
int overwritable;
int appendable;
int reserve_track;
int mcn_valid;
char mcn[14];
int isrc_valid;
char isrc[13];
int is_open;
int fd;
off_t capacity;
struct burn_drive_info *info;
struct burn_session_info *session_info;
struct burn_track_info *track_info;
struct burn_disc_info *disc_info;
struct burn_write_opts *write_opts;
struct burn_disc_cache *disc_cache;
struct burn_source *source;
struct burn_progress *progress;
void *priv;
int (*read)(struct burn_drive *, void *, size_t, off_t);
int (*write)(struct burn_drive *, const void *, size_t, off_t);
int (*check)(struct burn_drive *, off_t);
int (*clear)(struct burn_drive *, off_t);
int (*blank)(struct burn_drive *);
int (*finalize)(struct burn_drive *);
int (*eject)(struct burn_drive *);
int (*load)(struct burn_drive *);
int (*get_speed)(struct burn_drive *, int *);
int (*set_speed)(struct burn_drive *, int);
int (*get_status)(struct burn_drive *, int *);
int (*get_media_status)(struct burn_drive *, int *);
int (*get_capacity)(struct burn_drive *, off_t *);
int (*lock_door)(struct burn_drive *);
int (*query_format)(struct burn_drive *, const char *, int *);
int (*set_write_opts)(struct burn_drive *, struct burn_write_opts *);
int (*get_write_opts)(struct burn_drive *, struct burn_write_opts *);
};
```
这个结构体的具体用法可以参考libburn.h和libburn的相关文档。
相关推荐
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)