VC编译错误:'waveformat_tag' : 'struct' type redefinition
错误信息: : error C2011: 'waveformat_tag' : 'struct' type redefinition
: error C2011: 'pcmwaveformat_tag' : 'struct' type redefinition
: error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
: error C2061: syntax error : identifier 'LPCWAVEFORMATEX'
解决方法:
这是头文件包含顺序不正确所致。原先的文件包含顺序为:
#include <mmreg.h>
#include <mmsystem.h>
#include <msacm.h>
可以看到,mmreg.h文件中有如下定义:
#ifndef WAVE_FORMAT_PCM
typedef struct waveformat_tag ××××
而WAVE_FORMAT_PCM在mmsystem.h中有定义,但是在#include <mmreg.h>之前,WAVE_FORMAT_PCM还是没有被定义,所以,typedef struct waveformat_tag ××××语句生效,之后mmsystem.h中再次定义waveformat_tag,于是出现重复定义。
正确的包含顺序是:
#include <mmsystem.h>
#include <mmreg.h>
#include <msacm.h>
(包含静态库)
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "Msacm32.lib")
分享到:
相关推荐
C++11中引入了std::enable_if...struct enable_if<true> { typedef T type; }; 由上可知,只有当第一个模板参数为true时,enable_if会包含一个type=T的公有成员,否则没有该公有成员。 头文件: #include <type_t
动态库编译好了,提供dll,lib,.h.以及测试代码、只需要自己的训练的分类器,网络结构均值,类别就可以试用了
直接从官网下载的live555源码在centos 64位下编译报错,此为修改后版本。
只是声明了一个State与SwiftUI风格forEach和Micro将与动画版本比较重装struct Blog : DiffAware {}class BlogCell : UICollectionViewCell {}let dataSource = DataSource ( collectionView : collectionView)...
struct student_tag{}; struct teacher_tag{}; 还有Register的几个供内部使用的重载版本: template<class T> void Register(T p,student_tag){...} //注册学生 template<class T> void Register(T p,teacher_...
IPAddress.Format("%s",RemoteHost.pcVal);//RemoteHost.pbstrVal); break; default: IPAddress = ""; return FALSE; } Port = VariantToLong(RemotePort);//我们编写的一个VARIANT转换成long类型...
STC32G_IOTypeDef mstruct; STC32G_IOInitDef(& mstruct); mstruct.port = SCT_P0; mstruct.pins = PIN0 | PIN3 | PIN5; mstruct.mode = BI_IO; mstruct.pullUpEnable = 1; mstruct.drvEn = 1; STC32G_IOInit( m...
用VC实现的几个常用的数据结构
智能指针 智能指针shared_ptr的⽤法 的⽤法 为了解决C++内存泄漏的问题,C++11引⼊了智能指针(Smart Pointer)。 智能指针的原理是,接受⼀个申请好... struct AStruct { std::shared_ptr<BStruct> bPtr; ~AStruct() {
ATL源代码:comarray_struct 关键字:comarray_struct,ATL
格式化前// TestStruct this is a test structtype TestStruct struct {ID string `json:"id" xml:"id"`IfNotModified string `json:"if_not_modified" xml:"if_not_modified"`Name string `json:"name" xml:"name...
linux程序 C语言ptr_struct_file.cbuff_type_test.c
函数模板 std::mem_fn 生成指向成员指针的包装对象,它可以...struct int_holder { int value; int triple() { return value * 3; } }; int main() { int_holder five{ 5 }; std::cout << five.triple() <
使用std::thread::hardware_...struct accumulate_block { accumulate_block() { //std::cout << 创建一个线程: << std::this_thread::get_id() << std::endl; } ~accumulate_block() {
@concrete struct AB a b end julia> ab = AB("hi", 1+im) AB{String,Complex{Int64}}("hi", 1 + 1im) 宏还支持terse关键字,以使类型在IOContext :compact => true模式下不带参数即可显示。 @concrete terse ...
typedef void(*am_device_notification_callback)(struct am_device_notification_callback_info *); 描述: 回调函数,当设备状态改变时由iTunesMobileDevice.dll回调 参数: am_device_notification_callback_...
解决error LNK2001 无法解析的外部符号 int __cdecl sprintf
汽车租赁管理系统简单代码,基于myeclipse+mysql+struct的可运行的代码,注意发布和建库。
管理信息系统, 运用到STRUCT,AJAX,SPRING,HIBERNATE技术
C_C++中typedef_struct和struct的用法。