草庐IT

conditional-compilation

全部标签

java - 升级 Android Studio NDK : CMAKE_C_COMPILER and CMAKE_CXX_COMPILER not set 后出错

更新AndroidStudioNDK后,由于与CMAKE相关的错误(我的应用程序使用一个c++文件),我无法构建我的应用程序。以下是错误行:Buildcommandfailed.ErrorwhileexecutingprocessC:\Users\AnimallTag\AppData\Local\Android\sdk\cmake\3.6.4111459\bin\cmake.exewitharguments{-HC:\Projetos\Git\at65\app-BC:\Projetos\Git\at65\app\.externalNativeBuild\cmake\debug\mips

android - CyanogenMod 或 AOSP : Compile a single project

我正在尝试从存储库中制作/编译单个AOSP项目-特别是packages/apps/Email。有人知道怎么做吗?(我编译整个存储库没有问题,但我真的希望能够编译单个项目)。 最佳答案 如果您的环境已通过build/envsetup.sh在您的android树中配置,您可以运行mmm[project_path]来仅构建特定的子项目。(这将要求您之前已经从树构建了它的依赖项。)正如CommonsWare所指出的,如果您尝试使用SDK构建电子邮件应用程序,则需要做更多的移植工作。 关于andr

android - 为 : "Minimum Required SDK" , "Target SDK"& "Compile with"设置什么值

我知道这方面有很多问题,我也看了这个page.但是,我仍然对确切的选择感到困惑。如果我的手机运行Android2.3.6我知道MinimumRequiredSDK应该是我的应用支持的最低Android版本。因此,例如,我将选择Android2.2或小于该值,比如Android1.5容易混淆的部分TargetSDK和Compilewith我已经在下面安装了这些:(SDK管理器中没有可用的Android2.3.6)安卓4.2.2(API17)安卓3.0(API11)安卓2.3.3(API10)安卓2.2(API8)是不是TargetSDK要设置到最大值,也就是Android4.2.2,不管

android - 为什么 Android 在 Gradle 依赖项中将 'compile' 配置更改为 'implementation'?

正如在AndroidStudio3.0(canary3.0)中所见,我们现在通过声明implementation而不是compile配置来添加depedencies。//Beforecompile'com.android.support:appcompat-v7:25.3.1'//Currentlyimplementation'com.android.support:appcompat-v7:25.3.1'我们仍然可以使用编译,但我想了解:实现和编译配置有什么区别?为什么AndroidGradle构建更改为默认使用implementation? 最佳答案

c++ - 错误 X8000 : D3D11 Internal Compiler error : Invalid Bytecode: Invalid operand type for operand #1 of opcode #86 (counts are 1-based)

我和我的讲师/实验室助理都被难住了。出于某种原因,以下HLSL代码在输出窗口中返回:errorX8000:D3D11InternalCompilererror:InvalidBytecode:Invalidoperandtypeforoperand#1ofopcode#86(countsare1-based).这是HLSL中导致问题的函数://ProjectsaspherediameterlargeinscreenspacetocalculatedesiredtesselationfactorfloatSphereToScreenSpaceTessellation(float3p0,f

c++ - 更强大的 AC_COMPILE_IFELSE 功能测试?

Autoconf的AC_COMPILE_IFELSE在不同的编译器下为我们错误检测功能,例如Sun的C++编译器和IBM的xlC编译器。AC_COMPILE_IFELSE似乎检查返回值,但一些编译器懒得设置它或将其设置为意外值。稍后,我们使用不可用的选项。在我的非Autoconf构建脚本中,我使用"fatal|error|illegal|unrecognized|notfound|notexist"来检测编译器或链接器投诉。它比仅检查$?更可靠。测试看起来像:#infileandoutfilearetempfilesthatallowtestingafeatureSH_ERROR=$(

c++ - 使用 condition_variable 控制多线程流

我还没有全神贯注于C++11多线程的东西,但我正在尝试让多个线程等待主线程上的某个事件,然后所有线程立即继续(处理发生的事情),并且wait当它们完成处理时再次...循环直到它们被关闭。下面不完全是-它是我的问题的简单再现:std::mutexmutex;std::condition_variablecv;std::threadthread1([&](){std::unique_locklock(mutex);cv.wait(lock);std::coutlock(mutex);cv.wait(lock);std::cout这行得通……除非我在某些断点处停下来放慢速度。当我这样做时,我

我的类中的 c++ condition_variable wait_for 谓词,std::thread <unresolved overloaded function type> error

我想在我的类中使用一个线程,然后该线程需要使用一个condition_variable,条件变量将被阻塞,直到一个谓词被更改为true。代码如下所示:classmyThreadClass{boolbFlag;threadt;mutexmtx;condition_variablecv;boolmyPredicate(){returnbFlag;}intmyThreadFunction(intarg){while(true){unique_locklck(mtx);if(cv.wait_for(lck,std::chrono::milliseconds(3000),myPredicate)

C++ 内部代码重用 : compile everything or share the library/dynamic library?

一般问题:对于非托管C++,内部代码共享有什么更好的?通过共享实际源代码来重用代码?或者通过共享库/动态库(+所有头文件)重用代码无论是哪一个:您减少重复代码(复制粘贴综合症)、代码膨胀的策略是什么?具体例子:以下是我们在我的组织中共享代码的方式:我们通过共享实际源代码来重用代码。虽然我们的项目实际上需要跨平台,但我们使用VS2008在Windows上进行开发。我们有许多项目(.vcproj)提交到存储库;有些可能有自己的存储库,有些可能是存储库的一部分。对于每个可交付的解决方案(.sln)(例如,我们交付给客户的东西),它将svn:externals从存储库中获取所有必要的项目(.v

c++ - CMAKE_COMPILER_IS_GNUCXX 和 CMAKE_CXX_COMPILER_ID 为空

我目前正在玩弄CMake并想要检测编译器和编译器版本。我当前的CMakeLists.txt如下所示:cmake_minimum_required(VERSION2.6)set(PROJECT"a_tour_of_c++")set(GNUCXX_MINIMUM_VERSION"4.8")set(CXX_STANDARD"c++11")message("${CMAKE_CXX_COMPILER}")#C:/dev/MinGW/bin/g++.exemessage("${CMAKE_CXX_COMPILER_ID}")#EMPTYmessage("${CMAKE_COMPILER_IS_GN