Visual Studio 2019 Compiling a DLL from Github Sourcecode - Oboe - c++
I'm busy creating a music composer app for Android and want to use a Github repository called Oboe (1.3.1) in Unity 3D.
Here the link: Guithub repository for Oboe
This solution would provide me with native Android Audio funtions that I could use to pass by the native Unity 3D audio engine and could short a lot of latency, that it produces.
Unfortunatly this repository was rather created for use in Android Studio, to write code with it in Java or Kotlin, but it was written in C++. To use it in Unity 3D, I'd have to compile it into an DLL File, that Unity can accept by standard as a PlugIn.
To avoid having to write a Java wrapper in Android Studio, I chose for Visual Studio 2019 and installed all prerequisites for mobile development(xamarin), the Android SDKs from 4.1 Jelly Bean to 10.0 Q, Android SDK (&Platform-) tools and the NDK.
So I gues I'm pretty much set up for compiling with Android functions.
And here starts my confusion. I created a Universal Windows Project (as I want to compile into a DLL) copied the source code into reasonable folders concerning the paths in the scripts.
When I try to debug the project the compiler spits out hundreds of error messages, some of them concerning to native Android Audio functions that cannot be found. So I guess I just put the Error Messages here (I turned 'use precompiled headers' of in project settings, because all the header files are part of the repository):
1>------ Build started: Project: Oboe_1.3.1, Configuration: Debug Win32 ------
1>dllmain.cpp
1>AAudioLoader.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\Utilities.h(20,10): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory (compiling source file src\aaudio\AAudioLoader.cpp)
1>AudioStreamAAudio.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\src\aaudio\AAudioLoader.h(56,10): fatal error C1083: Cannot open include file: 'AAudio.h': No such file or directory (compiling source file src\aaudio\AudioStreamAAudio.cpp)
1>AudioSourceCaller.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\Oboe.h(27,10): fatal error C1083: Cannot open include file: 'oboe_include/Definitions.h': No such file or directory (compiling source file src\common\AudioSourceCaller.cpp)
1>AudioStream.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\src\common\AudioStream.cpp(18,10): fatal error C1083: Cannot open include file: 'pthread.h': No such file or directory
1>AudioStreamBuilder.cpp
1>DataConversionFlowGraph.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(287,57): error C2061: syntax error: identifier 'clockid_t' (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(308,81): error C2061: syntax error: identifier 'clockid_t' (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(308,82): error C2556: 'oboe::ResultWithValue<oboe::FrameTimestamp> oboe::AudioStream::getTimestamp(void)': overloaded function differs only by return type from 'oboe::Result oboe::AudioStream::getTimestamp(void)' (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(287): message : see declaration of 'oboe::AudioStream::getTimestamp' (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(308,45): error C2371: 'oboe::AudioStream::getTimestamp': redefinition; different basic types (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\oboe\AudioStream.h(287): message : see declaration of 'oboe::AudioStream::getTimestamp' (compiling source file src\common\AudioStreamBuilder.cpp)
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\src\aaudio\AAudioLoader.h(56,10): fatal error C1083: Cannot open include file: 'AAudio.h': No such file or directory (compiling source file src\common\AudioStreamBuilder.cpp)
1>FilterAudioStream.cpp
1>D:\VisualStudioProjects\Oboe_1.3.1\Oboe_1.3.1\src\flowgraph\MonoToMultiConverter.h(20,10): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory (compiling source file src\common\DataConversionFlowGraph.cpp)
1>FixedBlockAdapter.cpp
So that's just the smaller part of the error list. I googled a lot of these errors and found e.g.
that open include file: 'unistd.h : No such file or directory has to do with that this file is a linux file. But Android is a linuxoid OS so I cannot asses this error message.
Whereas: Cannot open include file: 'AAudio.h': No such file or directory points to a file that is not included in the Github repository at all, but should be part of the Android NDK, as it belongs to the native AAudio Android engine.
My question is, did I setup the project right? Is my approach reasonable? I'm unexperienced with both C++ coding and Visual studio. I even found a precompiled .arr library of this project, that I could use as PlugIn in Unity as well. But using a precompiled java library with funtions written in C++ and coding in C# does something strange to my brain convolutions. I tried even that though, so you might see how desperate I am for some good hints. Thank you and have a nice day!
Related
Problems with the box example in Frank Luna's introduction to his book '3D game programming with DirectX12'
I am beginning to study Frank Luna's book '3D game programming with DirectX12'. To follow precisely his steps I have downloaded Visual Studio 2015 ( BUT I CAN INSTALL ANY VERSION YOU MAY SUGGEST ), even if now we are in 2020. When attempting to execute the instructions that he gives from page xxx to page xxxiii of the Introduction, I get two types of errors. The first is this list: Cannot open include file: '../../Common/d3dApp.h': No such file or directory 1> d3dUtil.cpp 1>c:\users\maurizio\desktop\intro\d3d12book\common\d3dutil.h(11): fatal error C1083: Cannot open include file: 'dxgi1_4.h': No such file or directory 1> d3dApp.cpp 1>c:\users\maurizio\desktop\intro\d3d12book\common\d3dutil.h(11): fatal error C1083: Cannot open include file: 'dxgi1_4.h': No such file or directory 1> DDSTextureLoader.cpp 1>c:\users\maurizio\desktop\intro\d3d12book\common\d3dx12.h(13): fatal error C1083: Cannot open include file: 'd3d12.h': No such file or directory 1> Camera.cpp 1>c:\users\maurizio\desktop\intro\d3d12book\common\d3dutil.h(11): fatal error C1083: Cannot open include file: 'dxgi1_4.h': No such file or directory The second problem is that in my Windows 10 computer and VisualStudio 2015 the target platform version he writes should be 10.x, is 8.1 instead. And would it be possible to follow the book in Visual Studio 2019 ? Anyone does ? I apologize for the disturb but I am really at the beginning ..... and I am stuck right there at the introduction :-(
Visual Studio 2015's default SDK is the Windows SDK 8.1, which does not have any DirectX 12 headers. You need to install the optional "Windows Tools" component to get it. See this blog post
opencv2/core/core.hpp': No such file or directory
I followed this video tutorial for installing OpenCV for Visual C++ in Visual Studio 2015 (14) under Windows 10. https://www.youtube.com/watch?v=7SM5OD2pZKY However I get this error: Severity Code Description Project File Line Category Source Suppression State Tool Error C1083 Cannot open include file: 'opencv2/core/core.hpp': No such file or directory CannyStill1 c:\users\mona\documents\visual studio 2015\projects\cannystill1\cannystill1\cannystill1.cpp 3 fatal Build Please suggest solution.
fatal error lnk1104 in C++
I am using openssl ssleay.lib my project say MyProj which is also an library project. There are many other project under this workspace which are using MyProj library. I did the settings in MyProj library for using openssl. Which compiles and links fine. But when I try to compile whole workspace. then I am getting the error fatal error LNK1104: cannot open file "libeay32.lib" al error LNK1104: cannot open file "ssleay32.lib" How can i solve this issue ? Any hint will be appreciated.
addressbook example of protocol buffer is not compiling
i am trying to compile addressbook example of protocol buffers but it is throwing a error: write.cpp(1) : fatal error C1083: Cannot open include file: 'iostream': No such file or directory In write.cpp it encounters #include <iostream> and is throwing this error though when i am right clicking on <iostream> and clicking on open document it is opening the iostream file. I have included the path in include directories then also it is showing me the same errors. I am using Visual Studio 2005.
Your environment might not be set up for C++ or could be broken. There's an easy way to try to fix it: Tools -> Import and Export settings -> reset all I only have VS 2012 installed but I think it should be quite the same in your older version.
I resolved the above issue by putting " " around the search path as it contained spaces between the file names. and now i am trying to port my Protobuf2.5.0 code to wince for MIPS platform and when i am trying to build it is throwing me the following errors: 1>C:\Program Files\Microsoft Visual Studio 8\VC\ce\include\crtdefs.h(100) : fatal error C1189: #error : ERROR: Use of C runtime library internal header file. 1>zero_copy_stream_impl.cc 1>..\src\google\protobuf\io\zero_copy_stream_impl.cc(50) : fatal error C1083: Cannot open include file: 'io.h': No such file or directory 1>zero_copy_stream.cc
c1xx : fatal error C1083: Cannot open source file - with some Chinese or Javanese
I am getting the following compilation errors:** 4>c1xx : fatal error C1083: Cannot open source file: '䀀∀䤀渀挀氀甀搀攀倀愀琀栀猀䘀漀爀䴀甀氀琀椀刀愀挀欀䌀漀爀攀䰀椀戀⸀琀砀琀∀': No such file or directory 4> ∀䐀㨀尀瀀㐀挀氀椀攀渀琀尀倀爀漀䄀甀搀椀漀尀搀攀瘀开瘀猀㈀尀倀爀漀䄀甀搀椀漀尀堀倀氀愀琀昀漀爀洀尀䄀瀀瀀猀ⴀ䌀漀洀洀漀渀尀䌀漀搀攀尀吀栀爀攀愀搀猀尀圀䌀䔀爀爀愀渀搀䴀愀渀愀最攀爀⸀挀瀀瀀∀ 4>c1xx : fatal error C1083: Cannot open source file: '∀䐀㨀尀瀀㐀挀氀椀攀渀琀尀倀爀漀䄀甀搀椀漀尀搀攀瘀开瘀猀㈀尀倀爀漀䄀甀搀椀漀尀堀倀氀愀琀昀漀爀洀尀䄀瀀瀀猀ⴀ䌀漀洀洀漀渀尀䌀漀搀攀尀吀栀爀攀愀搀猀尀圀䌀䔀爀爀愀渀搀䴀愀渀愀最攀爀⸀挀瀀瀀∀': No such file or directory 4> 匀漀甀爀挀攀猀尀圀䌀䰀漀最最攀爀⸀挀瀀瀀 4>c1xx : fatal error C1083: Cannot open source file: '匀漀甀爀挀攀猀尀圀䌀䰀漀最最攀爀⸀挀瀀瀀': No such file or directory 4> 匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀⸀挀瀀瀀 4>c1xx : fatal error C1083: Cannot open source file: '匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀⸀挀瀀瀀': No such file or directory 4> 匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀开䄀倀䤀⸀挀瀀瀀 4>c1xx : fatal error C1083: Cannot open source file: '匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀开䄀倀䤀⸀挀瀀瀀': No such file or directory 4> 匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀开䄀甀搀椀漀⸀挀瀀瀀 4>c1xx : fatal error C1083: Cannot open source file: '匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀开䄀甀搀椀漀⸀挀瀀瀀': No such file or directory 4> 匀漀甀爀挀攀猀尀圀䌀䴀甀氀琀椀刀愀挀欀䌀漀爀攀开䄀甀搀椀漀䜀爀椀搀⸀挀瀀瀀 Any ideas? How can I fix the language settings?
Solved. There was an invalid flag in .vcxproj file. <Link> <AdditionalOptions>%(AdditionalOptions)</AdditionalOptions> </Link> Problem dissapeared when flag was removed.
We had same issue when upgrading our solution from VS2005 to VS2012. Problem was inside vcxproj files. We had new line character in command line options. After removing it, our project compiled without any problem. changed this <AdditionalOptions>/MP4 /Zm200</AdditionalOptions> to this <AdditionalOptions>/MP4 /Zm200</AdditionalOptions>
Any ideas? How can I fix the language settings? This is not a language issue. The compiler cannot open the files you want it to compile. Do those files exist? Are you invoking the compiler from the right directory? Also, you might get better help if you call your source files foo.cpp, bar.cpp, and baz.cpp. I guesstimate 80% of potential answerers will have a hard time telling your files apart or discovering simple spelling errors in their names.
restart the Visual studio(VS2013) is worked for me. As per my understanding , linking was improper, restarting will help to auto link and will resolve c1xx issues.
Please follow the steps to encounter this problem: 1. Unload your project 2. Open vcxproj or csproj file in notepad++ 3. remove the entry from -> 4. Load the project and try to compile it. This will solve your issue. Thanks
Check also the Additional Options you specified in the Command Line tag of your project setttings. The compiler will treat none option arguments as source file. I once specified /MP 1 (which should be /MP1) and the compiler complained that C1083 Cannot open source file: '1': No such file or directory.