将miniz.c添加到项目并包含它之后:
#include "miniz.c"
int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
链接器会发出大量"已定义"的错误.
1> miniz.c
1> Source.cpp
1>Source.obj : error LNK2005: _mz_zip_extract_archive_file_to_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_add_mem_to_archive_file_in_place already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_end already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_finalize_heap_archive already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_finalize_archive already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_add_from_zip_reader already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_add_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_add_mem_ex already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_add_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_init_from_reader already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_init_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_init_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_writer_init already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_file_to_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_end already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_to_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_file_to_callback already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_to_callback already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_file_to_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_to_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_file_to_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_to_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_file_to_mem_no_alloc already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_extract_to_mem_no_alloc already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_locate_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_get_filename already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_file_stat already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_is_file_a_directory already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_is_file_encrypted already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_get_num_files already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_init_file already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_init_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_zip_reader_init already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_write_image_to_png_file_in_memory already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_write_image_to_png_file_in_memory_ex already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_create_comp_flags_from_zip_params already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_compress_mem_to_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_compress_mem_to_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_compress_mem_to_output already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_get_adler32 already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_get_prev_return_status already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_init already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_compress_buffer already defined in miniz.obj
1>Source.obj : error LNK2005: _tdefl_compress already defined in miniz.obj
1>Source.obj : error LNK2005: _tinfl_decompress_mem_to_callback already defined in miniz.obj
1>Source.obj : error LNK2005: _tinfl_decompress_mem_to_mem already defined in miniz.obj
1>Source.obj : error LNK2005: _tinfl_decompress_mem_to_heap already defined in miniz.obj
1>Source.obj : error LNK2005: _tinfl_decompress already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_error already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_uncompress already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_inflateEnd already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_inflate already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_inflateInit already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_inflateInit2 already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_compressBound already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_compress already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_compress2 already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflateBound already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflateEnd already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflate already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflateReset already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflateInit2 already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_deflateInit already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_version already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_free already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_crc32 already defined in miniz.obj
1>Source.obj : error LNK2005: _mz_adler32 already defined in miniz.obj
Run Code Online (Sandbox Code Playgroud)
链接到miniz.c,以便那些不熟悉库的人https://code.google.com/p/miniz/
永远不要包含源文件!他们不打算这样做.
头文件中的单独声明.h和文件中的定义.c.
在任何需要引用声明的地方包含头文件.
至于你的具体情况,你应该包括miniz.c如下
#define MINIZ_HEADER_FILE_ONLY
#include "miniz.c"
int main(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这在miniz.c文件本身中记录(在第928行)
// ------------------- End of Header: Implementation follows.
// (If you only want the header, define MINIZ_HEADER_FILE_ONLY.)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1183 次 |
| 最近记录: |