GCC inlining failed in call to always_inline [duplicate] - gcc

I'm trying to run a Visual Studio cpp project created by a friend of mine. I'm trying to run the file without VS. But I'm getting a list of errors, all in the same format:
inlining failed in call to always_inline '__m256d _mm256_broadcast_sd(const double*)': target specific option mismatch|
It runs correctly in VS with release mode and breaks when run in debug mode.
The includes are as follows:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <vector>
# include <omp.h>
#include <chrono>
#include <fstream>
#include <algorithm>
#include <immintrin.h>
using namespace std::chrono;
using namespace std;
and the error is called from here:
double zero = 0;
__m256d acc = _mm256_broadcast_sd(&zero);
Update:
I'm using the this command to run it: g++ -std=c++0x multip.cpp -o multip, is there an additional parameter to add -mavx to the compiler invocation?

"Target specific option mismatch" means that you're missing a feature flag from your GCC invocation. You probably need to add -mavx to your compiler invocation.
If you're intending to run this on your computer only, -march=native will turn on all the feature flags that your own machine supports.

Related

Xcode references wrong path to Mono

I'm trying to compile the c code generated by Embeddinator-4000 but Xcode can't find the specified path to Mono.
These are the headers that are currently giving me problems:
#include <mono/jit/jit.h>
#include <mono/metadata/mono-config.h>
#include <mono/metadata/assembly.h>
#include <mono/metadata/debug-helpers.h>
#include <mono/metadata/object.h>
However these paths work:
#include <Mono/mono-2.0/mono/jit/jit.h>
#include <Mono/mono-2.0/mono/metadata/mono-config.h>
#include <Mono/mono-2.0/mono/metadata/assembly.h>
#include <Mono/mono-2.0/mono/metadata/debug-helpers.h>
#include <Mono/mono-2.0/mono/metadata/object.h>
The problem is that jit.h includes <mono/metadata/appdomain.h> and Xcode can't find it.
Is there a way to alias the framework so I don't have to modify my current install of Mono?
Thanks!

Failed to use LLVM libraries on Windows

I've been using the LLVM release build from here https://github.com/ziglang/zig/wiki/Building-Zig-on-Windows. When I build a simple cpp file that references to LLVM library, the compiler crashes. I'm using x64 cl as the compiler.
The command I'm using is roughly: cl -I <llvm include directory> main.cpp %libs% /link /LIBPATH:<llvm lib directory>
The %libs% variable is set to be the output of llvm-config --libnames all --system-libs
Below is the simple CPP program I used.
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/DerivedTypes.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/Type.h"
#include "llvm/IR/Verifier.h"
using namespace llvm;
LLVMContext TheContext;
int main()
{
return 0;
}
I have found the problem in my batch script where there's whitespace in the path.

CMake executable runs slower than running in ROOT

I wrote a macro for ROOT with the following libraries:
#include <iostream>
#include <math.h>
#include <vector>
#include <iomanip>
#include <time.h>
#include <stdio.h>
#include <gsl/gsl_matrix.h>
#include <gsl/gsl_odeiv2.h>
//ROOT libraries
#include <TTree.h>
#include <TFile.h>
When running in ROOT with .x script.cpp, it works fine and takes 0.25 seconds to write a root file.
Then, I created an executable using CMake. For that, I created the next CMakeLists files:
This CMakeLists file is outside the directory where the .cpp file is
cmake_minimum_required(VERSION 2.6)
project(CMAKE_TEST)
find_package(GSL)
find_package(ROOT REQUIRED COMPONENTS)
set(CMAKE_CXX_FLAGS "-g++ -O2 -Wall")
set(CMAKE_CXX_FLAGS ${ROOT_CXX_FLAGS})
add_subdirectory(script_sub)
This is the one that is inside (same location as the .cpp file)
include_directories(${CMAKE_TEST_SOURCE_DIR}/script_sub)
link_directories(${CMAKE_TEST_BINARY_DIR}/script_sub)
include(${ROOT_USE_FILE})
set(CORELIBS ${ROOT_LIBRARIES} ${GSL_LIBRARIES} m)
add_executable(script script.cpp)
target_link_libraries(script ${CORELIBS})
CMake creates the Makefile just fine, and then I can run make with no problems either. The issue is that when running the executable by ./script, this writes the root file in 0.92 seconds, i.e., it is slower than running the code in ROOT. The results are correct, and I see no error message.
How is this possible?

Open GL ES error: undefined reference to 'glDispatchCompute'

I am using Open GL ES 3.1 in Android app with native C++ code. So I need to run a C++ lib with Android support.
I have used some Open GL ES functions and they worked well. But when I tried to use glDispatchCompute, a linker gave a following error: undefined reference to 'glDispatchCompute'.
Here is the call:
glDispatchCompute(10, 1, 1);
Here are my includes:
#include <string>
#include <jni.h>
#include <GLES3/gl31.h>
#include <GLES/egl.h>
#include <GLES/gl.h>
#include <GLES3/gl3ext.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
Here are my options for clang:
-lGLESv3 -lGLESv2 -lGLESv1_CM -lEGL
Also I tried -lGLESv3 -lEGL with the same effect.
The problem was in not using proper java libraries and activities. In sample app there are 3 activities in Java. After adding them everything worked well.

fmod issue undefined reference

Hey so i am trying to use fmod as i have to take the modulus of two doubles. My make file does the following.
gcc -static -lm vm_main.c vm_options.c vm_menu.c vm_utility.c -o main
so the -lm tag should include the math header right?
i have included math.h in my files.
#include "vm_menu.h"
#include "vm_type.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
im a little confused as to why this is occurring... :/
so the -lm tag should include the math header right?
No, it tells the linker to link to libm, the math library. That's a library, not a header. But the order of linker options is important so it needs to come after the files that use it.

Resources