Code generation of linked blocks in Simulink - simulink

I am trying to generate code of my Simulink Model. The model contains linked blocks and Level 2 S-functions.
I am getting the following error when I press the Build Model Button
MyFluidProp_mod6.obj : error LNK2019: unresolved external symbol "double __cdecl pneu_fluids_PureGasProps_cp(double,class FluidProps &)" (?pneu_fluids_PureGasProps_cp##YANNAEAVFluidProps###Z) referenced in function "double __cdecl cp_Fcn(double,class FluidProps &)" (?cp_Fcn##YANNAEAVFluidProps###Z)
Update:
After tracking all required source files, and copying them to the current folder, I end up with the actual error:
C:\Program Files\Microsoft SDKs\Windows\v7.1\\include\winnt.h(135) : fatal error C1189: #error : "No Target Architecture"
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\cl.EXE"' : return code '0x2'
Stop.
From previous posts, it appears that winnt.h has to be replaced by windef.h. But since it used internally (not by any of my source codes), I can't change it.
This is most probably to a missing link to one of the used libraries. But since I cannot supply any additional commands to the Build Button, I cannot specify the link. I also must admit that I didn't understand exactly the error message meaning.
Can anyone help?

Your most likely not telling the compiler where to look for the library containing the function in question. This is done on the Configuration Parameters -> Code Generation -> Custom Code tab. If you right click on the words "Include Directories:" then you can bring up the help, explaining what to put into where.

Related

MIDL error when importing windows.storage.idl

I'm trying to write some MIDL in visual studio to define an interface I want to play with for some windows runtime research. The interface I want to use has some methods that take IStorageItem and IStorageFolder parameters, and I noticed these were defined in windows.storage.idl (from the Microsoft SDK). However when I import this idl into mine I get the following errors:
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt\windowscontracts.idl(5) : error MIDL2025 : syntax error : expecting an interface name or DispatchInterfaceName or CoclassName or ModuleName or LibraryName or ContractName or a type specification near "namespace"
C:\Program Files (x86)\Windows Kits\10\include\10.0.19041.0\winrt\windowscontracts.idl(7) : error MIDL2026 : cannot recover from earlier syntax errors; aborting compilation
Note that I have tried newer version of the SDK (right up to the latest) with the same results (and before hitting this error midl happily processes lots of other winrt idl files).
Can anyone shed some light on this problem and how I might fix it? I don't really want to manually define the storage interfaces since they look fiddly to do!

Problems to recompile a UE4 plugin

I am trying to recompile the Dialogo System plugin (https://forums.unrealengine.com/t/dialogue-system/44974) and I can't do it at all. I've tried several ways, including those suggested by the forum staff, but there's no way
This the error message I am getting:
Running C:/Program Files/Epic
Games/UE_4.26/Engine/Binaries/DotNET/UnrealBuildTool.exe Development
Win64 -Project="D:/Simulation/unreal/MyProject/MyProject.uproject"
-TargetType=Editor -Progress -NoEngineChanges -NoHotReloadFromIDE Invalidating makefile for MyProjectEditor (DialogueSystem.Build.cs
modified) #progress push 5% Parsing headers for MyProjectEditor
Running UnrealHeaderTool
"D:\Simulation\unreal\MyProject\MyProject.uproject"
"D:\Simulation\unreal\MyProject\Intermediate\Build\Win64\MyProjectEditor\Development\MyProjectEditor.uhtmanifest"
-LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\renat\AppData\Local\UnrealBuildTool\Log_UHT.txt" -installed Reflection code generated for MyProjectEditor in 4,3286771 seconds #progress pop
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTComposite_Context.cpp(1):
error: Expected BTComposite_Context.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTComposite_Question.cpp(1):
error: Expected BTComposite_Question.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTComposite_QuestionGroup.cpp(1):
error: Expected BTComposite_QuestionGroup.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTContextNode_Interface.cpp(1):
error: Expected BTContextNode_Interface.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTDialogueFunctionLibrary.cpp(1):
error: Expected BTDialogueFunctionLibrary.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTTask_CloseDialogue.cpp(1):
error: Expected BTTask_CloseDialogue.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTTask_ShowPhrases.cpp(1):
error: Expected BTTask_ShowPhrases.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\BTTask_WaitAnswer.cpp(1):
error: Expected BTTask_WaitAnswer.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\DialogueButton.cpp(1):
error: Expected DialogueButton.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\DialogueEventListener.cpp(1):
error: Expected DialogueEventListener.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\DialogueSettings.cpp(1):
error: Expected DialogueSettings.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\DialogueSystemModule.cpp(1):
error: Expected DialogueSystemModule.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Private\QuestBook.cpp(1): error: Expected QuestBook.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\BehaviorTreeEditor\QuestionCustomization.cpp(1):
error: Expected QuestionCustomization.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\BehaviorTreeEditor\ShowPhrasesCustomization.cpp(1):
error: Expected ShowPhrasesCustomization.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\QuestBookEditor\QuestBookEditor.cpp(1):
error: Expected QuestBookEditor.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\QuestBookEditor\QuestBookEditorCommands.cpp(1):
error: Expected QuestBookEditorCommands.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\QuestBookEditor\QuestBookEditorCustomization.cpp(1):
error: Expected QuestBookEditorCustomization.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\DialogueSystemEditorModule.cpp(1):
error: Expected DialogueSystemEditorModule.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\DialogueSystemStyle.cpp(1):
error: Expected DialogueSystemStyle.h to be first header included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\QuestBookAssetTypeActions.cpp(1):
error: Expected QuestBookAssetTypeActions.h to be first header
included.
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystemEditor\Private\QuestBookFactory.cpp(1):
error: Expected QuestBookFactory.h to be first header included.
Building MyProjectEditor... Using Visual Studio 2019 14.27.29111
toolchain (C:\Program Files (x86)\Microsoft Visual
Studio\2019\Community\VC\Tools\MSVC\14.27.29110) and Windows
10.0.19041.0 SDK (C:\Program Files (x86)\Windows Kits\10). Building 13 actions with 12 processes... #progress 'Compiling C++ source
code...' 0% #progress 'Compiling C++ source code...' 8% [1/13]
Default.rc2 #progress 'Compiling C++ source code...' 15% [2/13]
Default.rc2 #progress 'Compiling C++ source code...' 23% [3/13]
PCH.DialogueSystem.cpp
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Classes\BTTask_ShowPhrases.h(7):
fatal error C1083: It1s not possible to open file include: 'Widget.h':
No such file or directory
Please, some help. I really need to use this plugin to produce a demonstration of my project.
You could try what the log is suggesting and change the order of the includes. I suppose you're using a c++ project. Sometimes the order does matter.
Also check if the plugin is added in the dependecies list in the build.cs file. This file is located inside your project source folder. You will see that in the file there is already a dependecies list and you should include the plugin name in the list and build again.
BTComposite_Context.cpp(1): error: Expected BTComposite_Context.h to be first header included.
Taking this one as an example it looks like the .cpp files have been either corrupted or modified in a way. In general when you have a .cpp file you'll want it to start with the same header file as the first include. So open one of these files and see whether or not it starts with something like
#include BTComposite_Context.h
My guess since it looks to be an old plugin it probably improperly starts with something like
#include Engine/Core.h
D:\Simulation\unreal\MyProject\Plugins\UE4-DialogueSystem-master\Source\DialogueSystem\Classes\BTTask_ShowPhrases.h(7): fatal error C1083: It1s not possible to open file include: 'Widget.h': No such file or directory
This error is actually what's causing you not to be able to compile. Likely because Widget.h has been moved in a future version of UE4 compared to what it was when this plugin was made almost 7 years ago.
Try changing from #include Widget.h to #include "Components/Widget.h"
If you look at Widget.cpp in the engine source you can see this is now the correct include path that is expected.

Swift build error_if_any_output_files_are_specified_they_all_must_be

When converting to use the new build system on Xcode 10, I get the following error in my output for several of my extension targets.
<unknown>:0: error: if any output files are specified, they all must be
Command CompileSwift failed with a nonzero exit code
I have looked for a solution online, but the only reference I can find to this error is in the Swift compiler source code itself.
https://www.google.com/search?q=error_if_any_output_files_are_specified_they_all_must_be
Does anyone know how this error is actually triggered, or what I can do to fix it?
Ok, I had the same problem with one of our projects. Building or Archiving are always stopped with the error <unknown>:0: error: if any output files are specified, they all must be.
The solution for us was to set Compilation Mode to Incremental instead of Whole Module.
This means, you have to ignore the Validate Project Settings warning:

Progress developer studio - ignore error checking include files

In Progress Developer Studio (Eclipse):
How do you set up the project so it won't "compile" (check for errors) in .i (include) files separately?
Now we get a lot of errors because include files can not be run on its own. For example some variables that are used in the .i file are defined in p/w file - that will generate an error.
By default includes are not compiled. The errors shown on include files are caused by other sources (.cls, .p, .w) that failed to compile on that include.
See also : knowledgebase.progress.com/articles/Article/000048421

unresolved symbols after converting VS2012 Windows 8 Metro solution to VS2013 (on Windows 8.1)

I have a question, which I'm currently unable to tackle effectively since I'm still unfamiliar with Metro app development. So please bear with me :)
Long story short, I have a large, complex VS2012 Metro app managed+native solution (currently built on Windows 8) into VS2013 targeting Windows 8.1.
I imported the solution into VS2013 (hosted on Windows 8.1), and run the conversion for it and all the sub projects therein. Stuff compile, but it is with the linker that we run into problems. This is an example of the linker errors we get:
error LNK2019: unresolved external symbol __imp___beginthreadex referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___mbsrchr referenced in function <blahblahblah>
error LNK2019: unresolved external symbol _getenv referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___beginthreadex referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___endthreadex referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___mbsrchr referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___mbsnbicmp referenced in function <blahblahblah>
error LNK2019: unresolved external symbol __imp___dupenv_s referenced in function <blahblahblah>
The thing is that for every single symbol that is 'missing', we can see the that the declaration is present in the MS Windows header files supplied with VS2013. Inspecting the references in each sub-project shows that they are referencing the Windows 'core' libs.
Any ideas why this is happening? Thanks.
we can see the that the declaration is present in the MS Windows header files supplied with VS2013. Inspecting the references in each sub-project shows that they are referencing the Windows 'core' libs
It is going to be difficult to diagnose what went wrong with this little information, but it is pretty clear that you are looking in the completely wrong corner for this problem. The missing symbols are not Windows api functions, they are C runtime support functions. They are only used in a C++ project, you've been looking at .NET projects.
So you'll need to focus on the one project that generates these linker errors, it is a C++ project. The linker command that's issued to get it to link to the .lib that has these symbols is completely automagic so there isn't much that can go wrong. The very first thing to do is to force a complete rebuild so it won't use outdated .obj and .lib files that were left over from a previous build in VS2012. Right-click the project and choose Rebuild.
And it is worth taking a look at the .vcxproj file for this project with a text editor (like Notepad) and ensure that the conversion went properly and made the correct changes:
the ToolsVersion property must be changed from "4.0" to "12.0"
the MinimumVisualStudioVersion property must be changed from 11.0 to 12.0
two new properties are added, ApplicationType (Windows Store) and ApplicationTypeRevision (8.1)
every configuration's PlatformToolset property must be changed from v110 to v120
There is a log file in the Debug\projectname.tlog directory named link.read.1.tlog that contains diagnostics, it shows all the .lib files that the linker uses. It must contain this line:
C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO 12.0\VC\LIB\STORE\VCCORLIBD.LIB
Which is the .lib file that contains these symbols.